WO2014112781A1 - 무선 통신 시스템에서 접근 제어를 위한 방법 및 장치 - Google Patents

무선 통신 시스템에서 접근 제어를 위한 방법 및 장치 Download PDF

Info

Publication number
WO2014112781A1
WO2014112781A1 PCT/KR2014/000425 KR2014000425W WO2014112781A1 WO 2014112781 A1 WO2014112781 A1 WO 2014112781A1 KR 2014000425 W KR2014000425 W KR 2014000425W WO 2014112781 A1 WO2014112781 A1 WO 2014112781A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
object instance
specific
client
bootstrap
Prior art date
Application number
PCT/KR2014/000425
Other languages
English (en)
French (fr)
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 엘지전자 주식회사
Priority to EP14740172.3A priority Critical patent/EP2950497B1/en
Priority to US14/760,105 priority patent/US9900727B2/en
Priority to CN201480005392.9A priority patent/CN104937895B/zh
Priority to JP2015551628A priority patent/JP6055111B2/ja
Priority to KR1020157015601A priority patent/KR102145741B1/ko
Publication of WO2014112781A1 publication Critical patent/WO2014112781A1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/082Access security using revocation of authorisation
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring

Definitions

  • the present invention relates to a method and apparatus for the access control in a wireless communication system.
  • M2M Machine to Machine
  • M2M device requires technology for access control. Especially, when M2M server account registered in M2M client is deleted, it is necessary to process and handle resources related to M2M server to be deleted. . According to the deletion of the M2M server account, a specific resource may be a resource for which access rights do not exist, or a situation may occur in which an M2M server managing access rights of resources in the M2M client disappears. need.
  • the present invention proposes a scheme for access control.
  • an embodiment of the present invention proposes a processing method for resources associated with a specific server account when it is deleted.
  • the present invention also proposes an authentication scheme for notification.
  • the present invention also proposes a method for setting a connection mode of a terminal.
  • a method of processing a specific object instance associated with the server according to deletion of a server account in a wireless communication system wherein the method is performed by the terminal.
  • the object instance is accessible to a plurality of servers, deleting access right information of the specific server in the access control object instance associated with the specific object instance;
  • the specific server is the only access control owner of the access control object instance, the server having the largest sum of the values granted to the access rights of each of the plurality of servers except the specific server as the access control owner. It may include the step of changing.
  • the method may include selecting one of the two or more servers and changing the selected server to the access control owner. have.
  • an operation command for deleting an account of the specific server may be received through a bootstrap interface.
  • the first server may be a bootstrap server.
  • the method is adapted to the change to the second server when the access control owner changes.
  • the method may further include transmitting a notification.
  • the method may further include deleting the observation operation command related setting information stored through the observation operation command transmitted from the specific server.
  • the account of the specific server may include a short server ID of the specific server and a security key for communication with the specific server.
  • a terminal configured specifically for a specific object instance associated with the server upon deletion of a server account, comprising: a radio frequency (RF) unit; And a processor configured to control the RF unit, the processor receiving an operation instruction for deleting an account of a specific server from a first server, wherein the specific object instance is accessible only to the specific server. Deletes the particular object instance and its associated access control object instance; and if the particular object instance is an object instance accessible by a plurality of servers including the particular server, associated with the particular object instance.
  • RF radio frequency
  • the processor may be configured to select one of the at least one server and change the selected server to the owner of the access control. .
  • an operation command for deleting an account of the specific server may be received through a bootstrap interface.
  • the first server may be a bootstrap server.
  • the processor changes the change to the second server when the access control owner is changed. It can be configured to send a notification about the.
  • the processor may be configured to delete the observation operation command related setting information stored through the observation operation command transmitted from the specific server.
  • the account of the specific server may include a short server ID of the specific server and a security key for communication with the specific server.
  • [29] 1 shows the data (or data) structure stored in the M2M client.
  • FIG. 2 shows a resource model associated with an embodiment of the present invention.
  • tr 3 illustrates a model of an interface related to an embodiment of the present invention.
  • FIG. 4 illustrates a bootstrap operation according to an embodiment of the present invention.
  • [5] r5 illustrates a bootstrap operation according to an embodiment of the present invention.
  • FIG 6 illustrates an observation registration operation according to an embodiment of the present invention.
  • FIG. 7 illustrates a reporting (notification) operation according to observation according to an embodiment of the present invention.
  • tr 8 illustrates an example of operation of observation registration and report according to an embodiment of the present invention.
  • FIG. 9 illustrates an operation of setting access rights holder change according to an embodiment of the present invention.
  • FIG. 10 shows a block diagram of an apparatus for implementing embodiment (s) of the present invention.
  • a device for device-to-device communication may be fixed or mobile, and communicate with a server for device-to-device communication, that is, an M2M server or a server to provide user data and / or various control information.
  • a server for device-to-device communication that is, an M2M server or a server to provide user data and / or various control information.
  • the M2M client includes a terminal equipment (MS), a mobile station (MS), a mobile terminal (MT), a UT user terminal (SS), a subscriber station (SS), a wireless device, a personal digital assistant (PDA), a wireless modem ( wireless modem, handheld device, and so on.
  • the M2M server generally refers to a fixed station communicating with M2M terminals and / or other M2M servers, and may simply be referred to as a server, and M2M terminals and / or other M2Ms. Communicate with server to exchange various data and control information.
  • Device Management refers to managing device configuration and other managed objects of devices in terms of various Management authorities.
  • Device management includes sequential updates of constantly persistent 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 conf igurat ion informat ion in Devices, subsequent updates of persistent information in Devices, retrieval of management informat ion from Devices and processing event s and alarms generated by Devices. )
  • a management tree is an interface for a management server to interact with a DM client, such as by storing values in or retrieving values from the management tree and by manipulating the properties of the management tree, for example an attribute of the management tree.
  • ACL access control list
  • a management tree is associated 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 (even one node alone) that are related in some way to each other.
  • a ./Devlnfo node and its child 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 ./Devlnfo Nodes form a Management Object .A simple Management Object may consist of one single Node.)
  • a DM Server may be a conceptual software component in a device management infrastructure that conforms to the OMA Device Enabler static conformance requirements specified for the DM Server. .
  • the DM server may serve as an end-point of the DM client-server protocol and the DM server-server interface. (An abstract software component in a de loyed 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 CI ient ⁇ Server Protocols and DM Server-Server Interface).
  • the DM server may be provided mounted in a device, a device, a computer, etc. having communication modules, processor modules, and the like, and thus may be implemented as one device.
  • a DM Client is a conceptual software component in device implementation that follows the 0MA Device Management Enabler static conformance requirements specified for the DM Client. Can be.
  • the DM client may serve as an end-point of a DM client-server protocol.
  • the DM client may be provided as mounted in a device targeted for the DM including a communication module, processor modules, and the like, and thus may be implemented as one device.
  • An ACL refers to a list of DM server identifiers and access rights associated with each DM server identifier for a particular node in the management tree.
  • 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.
  • the format attribute of a node provides information as to whether the node is a leaf node or an interior node.
  • the Format property of a Node provides information about whether a Node is a leaf or an Interior Node.).
  • 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. A Node that may have child Nodes, but cannot store any value.
  • the Format property of an Interior Node is node.
  • Leaf nodes may not have child nodes, but may have node values instead.
  • the Format property of a Leaf Node is not node.
  • a persistent node is a node whose DDF attribute scope is set to permanent. If the node is not a persistent 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 DDF property scope is set to Dynamic or the DDF property scope is not specified. the Scope property is 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 operates a command to the terminal by manipulating each node of the DM tree. Do this. For example, in order to install the downloaded software on the terminal, install an instance that matches the software. If you run the node, you can install the software.
  • Each node can represent simple information such as a pair, 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, etc.
  • Each node has a property that provides meta information related to 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.
  • Access Control List is an essential function that both the terminal and the server must implement in the DM 1.3 protocol.
  • the ACL specifies the DM commands that a specific DM server can execute on a particular node. An unspecified DM command cannot be executed.
  • ACL means the authority that a specific DM server is granted to a specific node.
  • the ACL is assigned to the server identifier of the DM server, not to the URI, IP address, or DM server certificate. 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.
  • every node is defined to have an ACL attribute, and every node with an ACL attribute is defined to have an empty ACL value or a non-empty ACL value.
  • ACL has a unique property that differs from other runtime properties. 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 is taken from the parent node of that parent node. Since the DM protocol specifies that the root node, which is the top node of the DM tree, must have an ACL value, the ACL value must be inherited. Since ACL inheritance is not performed for individual DM commands, but for the entire ACL value, the ACL inheritance from the parent node can only be achieved when the ACL value is empty. That is, the ACL value of a node has the ' Add permission If you specify only, unspecified Get privileges are not inherited.
  • the DM server uses the Get command.
  • Replace permission means permission to replace ACL values of all child nodes.
  • the parent node must have Get permission. Likewise, if the node has Replace permission, it means that the value of the node can be replaced. To replace the ACL, the parent node must have Replace permission.
  • the authority to replace the ACL value of the node regardless of whether it is an interior node or a leaf node can be controlled by the ACL value of the parent node. 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 the root node has Replace permission, it means that any node in the DM tree can have any permission. However, having a Replace permission on a parent node does not imply a specific permission such as Get on a child node, and does not directly imply a Get permission on that child node. One must be specified.
  • the ACL value must be modified before the command is executed, and the ACL value of all the nodes on the way to the node to be modified must be modified to finally modify the ACL value of the child node. This is inconvenient.
  • the ACL allows the node to directly modify its ACL value without modifying the ACL value of the intermediate node.
  • 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 does not have Replace permission in the parent node, it is necessary to have sufficient authority to manage the node by setting the ACL value at the same time.
  • Delete DMS2
  • each of which is an ACL-entry represents an individual command authority on the DM server, that is, an ACL value is a set of individual ACL-entries, and each node's ACL value. May contain 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 the ACL. DM authentication is done separately for each DM command. If the DM server sends a plurality of DM commands, the DM client) authenticates before executing the individual commands, and as a result only the authorized DM commands are executed.
  • the DM tree refers to a collection of MO instances exposed by the DM client.
  • the DM tree functions as an interface by the management server that interacts with the client.
  • the management server may store and retrieve specific values from the DM tree and manipulate attributes of the DM tree.
  • a plurality of servers may be connected to one terminal and use terminal management or a service provided by the terminal.
  • the service provided by the terminal may be provided in the form of a resource and a form of a resource group. That is, when a terminal provides a specific service to a server, the terminal exposes a specific resource (group) to the server, and the specific service may be performed by the server manipulating the resource.
  • a resource (group) exists as a server that is an access manager that manages the access rights of the resource.
  • the access manager of the resource is unique and there is another server that can access the resource.
  • the server account of the resource manager may be deleted.
  • no server can perform access control of the resource, which means that no server can access any server (e.g., a server can execute a specific command of the resource). It is impossible to set / cancel whether or not you have the authority to. Therefore, in the present invention, even if the account of the server, which is an access authority manager, is deleted, based on the access authority of other server (s) among other server (s) that can access the resource continuously for managing access rights to the corresponding resource. It shows how to set up access authority manager server.
  • Figure 1 shows the data (or data) structure stored in the M2M client.
  • the M2M client (or terminal) may have entity (s) grouped with resources referred to as "Objects" corresponding to the functions that the M2M client can implement, and the identifier of the object is an object description ( The identifier defined in the specification or not defined in the object description may be set by the operator or manufacturer using the M2M system.
  • a resource is an entity that stores actual data, and a resource may have a plurality of resource instances. Each object is created and instantiated as an object instance by a specific operation command, and the M2M client can actually access the corresponding resource through the object instance.
  • An "object” is a definition of a group of resources to be used for a specific functionality or purpose, and an "object instance” is a resource group in which the object is instantiated in the terminal. To use, an object instance must be created.
  • an "object” is a concept of a template or a blue print of a resource group to be instantiated, and a resource group to be materialized may have any resource (s). ) Define what attributes (eg, resource identifier, name, supported action instruction, range, unit, description) and what action is taken for a particular action instruction.
  • An "object instance” is a resource group existing or instantiated in a terminal according to an object definition. A resource of the resource group may have a value corresponding to the resource.
  • object may be used interchangeably with “group of supported resource (s)” or “resource group definition”, and “object instance” May be interchangeably referred to as a “group of materialized resource (s)” or “resource group”.
  • each resource includes or appends information for indicating which operation is supported by the resource, and the operation command may be, for example, read, write, or execute. Execute, Write Attributes, Discover, Observe, etc.
  • FIG. 2 illustrates a resource model associated with an embodiment of the present invention.
  • An ACLCAccess Control List (ATC) and an Access Type (AT) are allocated to control access rights to resources to be used in an M2M system according to an embodiment of the present invention.
  • ATC ACLCAccess Control List
  • AT Access Type
  • the ACL is allocated to a resource in which a specific function is implemented, that is, for each object instance, and subordinate resources of the object instance are considered to have been assigned the same ACL. In other words, since ACLs are allocated for each object instance, its subordinate resources are promised to have the same ACL.
  • an object instance is an entity in which resources are grouped, and a group gathered to perform a specific function, it is reasonable to grant the same permission to all resources in the group when granting permission for a specific function to a specific server. . If you do not grant the same authority, you can perform actions only partially for one function. In this case, the role of the server becomes ambiguous and the meaning of authorization is faded. Therefore, in one embodiment of the present invention, by allocating an ACL for each object instance as mentioned above, the overhead can be reduced as compared with the case where the resource is previously stored for individual resources, and the same mechanism is used to find an ACL. The access authorization process can be simplified.
  • each object may be instantiated into a plurality of object instance (s).
  • the AT may be allocated for each individual resource and may define an approach supported by each individual resource.
  • the approach is defined as operation commands
  • the AT may be defined as specific operation commands, for example, Read, Write, Execute.
  • the ACL and the AT may be referred to differently, for example, the ACL may be referred to as an access right, and the AT may be referred to as an operation command that can be supported.
  • FIG. 3 shows four interfaces.
  • 3 (a) shows an operation model for the bootstrap interface.
  • the operation commands are an uplink operation command named "bootstrap request” (i.e. client initiated bootstrap) and a downlink operation command named “write” and "delete” (i.e. server initiated).
  • Bootstrap These operational instructions are used to initialize the necessary object instance (s) for the client to register with one or more servers.
  • Bootstrap is also defined using factory bootstrap or bootstrap from smartcard (stored on smartcard).
  • Figure 3 (b) shows an operation model for the "device (client) registration” interface.
  • the operation commands are uplink operation commands named " update " " update " and " registration-unregister ".
  • “Registration” is used to register the client's information with the server
  • "Update” is used to update the information or status of clients registered with the server periodically or by events occurring on the client.
  • the server can delete the client's information.
  • Figure 3 (c) shows an operation model for the "device management and service enablement” interface.
  • the operation commands are a downlink operation named "read”, “create”, “delete”, “write”, “execute”, “write attribute”, and “search”. Commands. These operational instructions are used to interact with the client's resources, resource instances, objects and object instances.
  • the "read” action command is used to read the current value of one or more resources
  • the "write” action command is used to update the value of one or more resources
  • the "execute” action command is used to initiate the action defined by the resource. Used for.
  • "Create” and “Delete” operation instructions are used to create or delete object instances.
  • "Write Property” is used to set the property related to the "Observe” action command
  • Search is used to search the property.
  • 3D shows an operation model for an “information reporting” interface.
  • the operation commands include downlink operation commands “observe” or “cancel observation” and uplink operation command “Notify”. All.
  • the information reporting interface is used to send new values related to resources on the client to the server. "Observation” is used to observe a specific resource when the server is interested in the resource's change of resources, and “Cancel Observation” is used when the observation is no longer needed (when you no longer want to know the change in resource). do. "Notification” is used to inform the server when the observation condition attribute set through "Write Attribute” is correct.
  • a server identifier (ID), an ACL (or an access right), an AT (or supportable operation) suitable for an M2M environment in order to reduce parsing process overhead and reduce space overhead of an M2M device. Command).
  • the information that should be included in the ACL should include which servers can issue which operations. Since the server ID is usually expressed as a URI, the URI may be longer depending on the environment. ACLs must be expressed for each object instance, and long server IDs are used repeatedly for each object instance. Therefore, server IDs can cause considerable space overhead depending on the number of object instances. It is suggested to use a short, fixed server length (eg 2 bytes) short server ID in the ACL.
  • the M2M client stores the mapping relationship between the short server ID and the server ID. The M2M client can find a short server ID for an operation command received from the server ID and use it to perform authentication through an ACL.
  • Access Control List (ACL) or access rights
  • An ACL is assigned to each object instance and consists of a list of ACL entries that specify access rights for each M2M server.
  • ACL entries include the short server ID and It can be expressed as the access authority of the server.
  • the short server ID and access authority values are both set to a fixed short length to increase space overhead and processing efficiency during the authentication process.
  • one bit value is assigned to each operation command of M2M so that only one bit needs to be read when performing the authentication procedure for a specific operation command.
  • the AT can specify which operation command the resource supports. In the same way as the access authority of the ACL entry, one operation command is mapped for each bit.
  • Registration is performed when the M2M client transmits a "registration" operation command to the M2M server.
  • the M2M client commands a "register” operation to each M2M server corresponding to the server object instance it has (ie, each server to which the M2M client is registered). Should be done.
  • the table below describes the parameters used for the "round" operation command.
  • the M2M client may update its registration information with the M2M server by sending an "update" operation command to the M2M server.
  • the "Update" operating command may include only the parameters listed in the table below which have been changed in comparison with the last registration parameters sent to the M2M server.
  • the M2M client uses UDP binding for communication with the M2M server and the IP address or port changes of the M2M client, the M2M client should send an "update" operation command to the M2M server.
  • the "update” operation command may be initiated by the M2M server through an “execute” operation command for a "Registration Update Trigger” resource of the M2M server object.
  • the M2M client determines that it is no longer available to the M2M server (eg, a factory reset of the M2M device)
  • the M2M client should send an "register-release" operation command to the M2M server.
  • the M2M server should remove the registration information for the M2M client from the M2M server.
  • the "read” operation command is used to access (read) the value of an individual resource, resource instances of an array, an object instance, or all object instances of an object, and has the following parameters.
  • the "search" operation command is used to search for individual resources, object instances, and attributes (parameters, attributes, and parameters) set on the object.
  • the search operation command is also used to search for what resources are implemented in a particular object.
  • the values returned are a list of application / link-format CoRE links (links that follow the application / link-format CoRE format of RFC6690) for each resource that contains the properties of the resource.
  • the search operation command has the following parameters. [138] [Table 8]
  • the search command when only the object ID is specified among the parameters, it is possible to return which resource is implemented and observe parameters set in the object, and among the parameters. If only up to the object instance ID is specified (that is, the object ID and the object instance ID are specified), the observation parameters set in the specified object instance can be returned, and if the resource ID is also specified (i.e., object ID, object) Instance ID, resource ID are specified), and observation parameters set in the specified resource may be returned.
  • the “write” operation instruction is used to change (write) a value of a resource, resource instances of an array, or an object instance.
  • the write operation command allows a plurality of resources to be changed in the same object instance through one command. That is, the write operation command can access an object instance (as well as individual resources).
  • the write operation command has the following parameters.
  • the "write attribute" operation command is used to change (write) a resource or an object instance or an attribute of an object.
  • the write attribute operation command has the following parameters.
  • the minimum period, maximum period, Greater Than, Less Than and Step are used only in the observation operation command.
  • Maximum and / or minimum periodic parameters are used to control how often the "Notify" action command is sent by the M2M client for the observed object instance or resource.
  • the over, under, and step parameters are valid only when resource ID is indicated. Less than or equal to And step parameters should only be supported if the resource type is a number (eg, integer, decimal).
  • the "execute" action command is used by the M2M server to initiate an action, and can only be performed on individual resources.
  • the M2M client returns an error if the "execute" action command has been received for the object instance (s) or resource instance (s).
  • the execution operation command has the following parameters.
  • the "create” operation command is used by the M2M server to create an object instance in the M2M client.
  • the "create” operation command object or have yet instance gasification (or instantiation (instantiate)) target (target) one of the "non-object instance.
  • the object instance created on the M2M client by the M2M server must be of an object type supported by the M2M client and by the M2M client to the M2M server using the "register" and "update” action commands of the device registration interface. Must be the type of object notified.
  • An object supporting at most one object instance should be assigned an object instance ID of 0 when the object instance is created.
  • the "Create" operating command has the following parameters.
  • the "delete” operation command is used for an M2M server to delete an object instance in an M2M client.
  • the object instance deleted from the M2M client by the M2M server must be an object instance notified by the M2M client to the M2M server using the "Register” and "Update" operational commands of the device registration interface.
  • the delete operation command has the following parameters.
  • the M2M server may initiate a request for observation of changes of a specific resource in the M2M client, resources in the object instance, or all object instances of the object.
  • the relevant parameters for the "Observe” action command are set in the "Write attribute” action command.
  • the observation operation command includes the following parameters.
  • the "Notify” action command is sent from the M2M Client to the M2M Server during valid observation of the object instance or resource.
  • This action instruction contains the new value of the object instance or resource.
  • the "notify” operation command satisfies all conditions set by the "Write Attribute” operation command for the "observation” operation command (ie, Minimum Period, Maximum Period, Greater Than, Less Than, Step). Should be sent.
  • the notification operation command includes the following parameters.
  • the "Cancel Observation" operation command is sent from the M2M Server to the M2M Client to end the observation relationship for the object instance or resource.
  • the cancel observation operation command includes the following parameters.
  • the M2M client does not go through the access control of the one M2M server, that is, does not check the access control object instance, and the M2M server has no access to the resource.
  • the M2M client finds the ACL of the server in the access control object instance (s) for the object instance to which the object instance or resource belongs. If the access authority corresponding to the M2M server ID exists in the ACL, the M2M server has the access authority. If the ACL entry of the corresponding M2M Server ID does not exist, the M2M Client checks whether the access authority assigned to the Default Server ID exists in the ACL, and if the Default Server ID exists, the M2M Server has access authority of the default server ID. Has If the access right corresponding to the M2M server ID does not exist and the access right of the default server ID does not exist, the M2M server does not have access to the corresponding resource.
  • the access control object is used to check whether the M2M server has access authority to perform an operation command.
  • Each access control object instance contains an ACUAccess Control List) for that specific object instance.
  • the M2M server has the authority (i.e., access right) to perform the transferred operation command on the resource (e.g., object instance, resource).
  • the resource e.g., object instance, resource.
  • another access right authentication procedure is performed in two steps, that is, a hierarchical structure.
  • an M2M client transmits an error message, and if the resource does not support the delivered operation command, the M2M client transmits information on the resource to the M2M server. Notifies that the transferred operation command has not been performed due to resources.
  • the authentication process is slightly different for three levels: resource, object instance and object.
  • the M2M server accesses an individual resource, that is, the M2M server sends an operation command for the individual resource to the M2M client
  • the M2M client may acquire the individual resource according to the method of obtaining the access right described above.
  • the M2M server may obtain access authority to the object instance to which it belongs, and check whether the access authority has been approved to perform the operation command.
  • the M2M client should send an error code "Access permission denied" to the M2M server.
  • the M2M client may verify whether the individual resource supports the operation command.
  • the M2M client should transmit an "operation command not supported" error code to the M2M server. If the individual resource supports the operation command, the M2M client may perform the operation command.
  • the M2M server accesses the object instance, that is, the M2M server transmits an operation command for the object instance to the M2M client
  • the M2M client accesses the M2M server to the object instance according to the method for obtaining access rights described above. It is possible to obtain a right and check whether the access right is authorized to carry out the operation command:
  • the M2M client should send an "access permission denied" error code to the M2M server.
  • the M2M client may perform the following procedures based on the operation command.
  • the M2M client executes an operation command for the object instance only when all resources passed in the operation command are allowed to perform a "write” operation command. can do. If any resource (delivered in the operation instruction) does not support the "write” operation instruction, the M2M client sends the operation instruction by sending an "operation instruction not supported” error code to the M2M server. Can notify resources that do not support.
  • the M2M client reads all resources except for the resource (s) that do not support the "read” operation command, and the resource (s) read above (retrieved). Resources) information can be sent to the M2M server.
  • the M2M client may only allow the resources passed in the write command to perform the "write" action command and only if all required resources are specified.
  • An operation command can be performed. If any resource (included in the operation command) does not support the "write” operation command, the M2M client supports the operation command by sending an "operation not supported” error code to the M2M server. Can notify resources that do not. If all required resources are not specified, The M2M client may transmit a "Bad Request" error code to the M2M server.
  • the M2M client should perform the operation command. That is, the M2M client does not check whether an operation command for the object instance is supported by all resources belonging to the object instance, and deletes, observes, and writes an attribute. ) "Or” Discover "action command.
  • the M2M client should not execute the operation command and should transmit an "operation not supported" error code to the M2M server.
  • an operation command for an object instance may be performed by the method for obtaining access rights, whether the corresponding M2M server and access rights for the object instance are owned. Then, it is checked whether the individual resource (s) belonging to the object instance support the operation command, and this process is performed or not performed according to the type of the operation command.
  • An operation command for an object is also defined according to the type of the operation command.
  • the M2M server When the M2M server sends a "read" action command to an object, that is, sends a "read” action command for the object to the M2M client, the M2M client may have object instances belonging to (or subordinate) the object.
  • the M2M server may collect information on object instance (s) to which the M2M server has access and forward the information to the M2M server. Whether the M2M server has access authority is performed according to the access authority acquisition method described above.
  • Information of the object instance that the M2M server has access to reads all resources except for the resource (s) that the M2M client does not support the "read" operation command to the M2M server. Read resource (s) information.
  • the M2M client obtains the aforementioned access right. According to the method, it may be determined whether the M2M server has an access right to the object. [200] If the M2M server has access to the object, the M2M client only allows all resources passed in the operation command to perform a "write" operation command and all required resources are specified. Only when the operation command can be performed. If no resource (sent in the operation command) supports the "write” operation command, the M2M client supports the operation command by sending an "operation command not supported" error code to the M2M server.
  • the M2M client may send a "Bad Request" error code to the M2M server. That is, in this case, the M2M client notifies the M2M server that an operation command by the M2M server is wrong.
  • the M2M client For the "Discover" operation command, the M2M client should perform the operation command. That is, for the " search " operation command, the M2M client determines whether the M2M server has access to all object instance (s) below the object and all resources belonging to all object instance (s). Does not check whether the " search " operation command is supported.
  • the M2M client For an "Observe” or “Write Attributes” operation command, the M2M client should perform the operation command. That is, for an "observation” or "write attribute” operation command, the M2M client determines whether the M2M server has access to all object instance (s) below the object and all the object instance (s). It does not check whether all resource (s) belonging support the "observation” or "write attribute” operation command.
  • the M2M client should not perform the operation command and may transmit an "operation not supported" error code to the M2M server.
  • an operation command for an object is determined whether possession of an access right of the corresponding M2M server for the object is performed by the access right obtaining method according to a specific operation command for the object. . Then, it is determined whether individual resource (s) belonging to the object instance support the operation command, and this process may or may not be performed according to the type of the operation command. In addition, in the case of an operation command for an object, it may not be checked whether the access right is owned for the specific operation command and whether the specific operation command is supported.
  • server security object or object instance
  • server object instance or object instance
  • firmware update object or object instance
  • the M2M Server Securable (or Object Instance) provides the keying material of the M2M Client suitable for accessing the specified M2M Server or M2M Bootstrap Server. It is recommended that one object instance address the M2M bootstrap server.
  • the resources of the M2M server secure object may be changed via the bootstrap interface from the M2M bootstrap server or smart card, but may not be accessed by any other M2M server.
  • the following describes an M2M server object (or object instance).
  • the M2M Server Object provides data related to the M2M Server.
  • the M2M bootstrap server does not have this object instance associated with it.
  • the present invention is due to solving inefficiencies that may occur when an account of an M2M server is deleted from an M2M client.
  • the account of the M2M server is deleted, the access rights of the M2M server to a specific resource are also deleted, which may cause difficulty in continuously managing the resources.
  • resources without access rights remain in the M2M client, which becomes the entity that no one can access.
  • a configuration may be set. This configuration also cancels the configuration and introduces an efficient resource management mechanism when the account of the M2M server is deleted.
  • An owner of an access right is an entity that can change the ACL of a specific resource.
  • the access rights owner may have specific access rights (eg delegation access right) and stored in a specific field (eg Access Control Owner). field, self-permission field) to manage the ACL.
  • the access right owner may be one or several.
  • the deletion of the M2M server account is possible by the M2M bootstrap server through the bootstrap interface described above. Therefore, the deletion of the M2M server account is made by sending and receiving a specific operation command between the M2M bootstrap server and the target M2M client. Reference is made to this.
  • the bootstrap interface allows an M2M client to communicate with one or more M2M servers.
  • the M2M client requests a bootstrap from the M2M bootstrap server, and the M2M bootstrap server adds / deletes / updates the bootstrap information of the M2M client.
  • [220]-Server Initiated Bootstrap The M2M Bootstrap Server adds / deletes / updates the bootstrap information of the M2M client.
  • the M2M client may support at least one bootstrap mode specified in the bootstrap interface.
  • the M2M server may support all bootstrap modes specified in the bootstrap interface.
  • the bootstrap information refers to information that needs to be set in an M2M client to access an M2M server or an M2M bootstrap server.
  • the bootstrap information may be available before performing the bootstrap sequence, or may be obtained as a result of the bootstrap sequence.
  • the bootstrap information may be divided into two types, that is, bootstrap information for an M2M server and bootstrap information for an M2M bootstrap server.
  • the M2M client may have bootstrap information (eg, information required for connection with the M2M server) for the M2M server after the bootstrap sequence.
  • M2M It may have bootstrap information for the bootstrap server (for example, information required for connection with the M2M bootstrap server).
  • Bootstrap information for the M2M server is used for the M2M client to register and access the M2M server.
  • the bootstrap information for the M2M server may include at least an M2M server secure object instance in which a "bootstrap server" resource is set to "false".
  • Bootstrap information for an M2M server may include other object instances.
  • the M2M client may be configured to use two or more M2M servers, including a collection of bootstrap information for each M2M server.
  • Bootstrap information for the M2M bootstrap server may be used by the M2M client to access the M2M bootstrap information to obtain bootstrap information for the M2M server.
  • the bootstrap information for the M2M bootstrap server may be an M2M server secure object instance with a "bootstrap server" resource set to "true”.
  • the bootstrap information may be classified as follows.
  • the M2M client may accept the bootstrap information transmitted through the bootstrap interface without an authentication procedure (access control).
  • the bootstrap interface selectively configures an M2M client so that the M2M client successfully registers with the M2M server or connects to the M2M bootstrap server.
  • the client bootstrap operation command is performed by sending a CoAP POST request to the / bs path of the M2M bootstrap server, and the query string parameter including the M2M client identifier.
  • the M2M bootstrap server In the client-initiated bootstrap, when the M2M bootstrap server receives a request bootstrap operation command, the bootstrap server writes to the bootstrap server. And / or a Delete operation command. In a server initiated bootstrap, the bootstrap server may perform a write operation command. Write and / or delete operation instructions may target an object instance or a resource. The write and delete operation commands may be transmitted multiple times. Only in the bootstrap interface, the delete operation command is used for all objects that exist except the M2M bootstrap server account on the M2M client to initialize the M2M client before the M2M bootstrap server sends the write operation command (s) to the M2M client. A 7 "URI may be targeted to delete instances.
  • the M2M client may pay for the operation command regardless of the presence of a target object instance or resource.
  • a load ie, a specific value to be written to (written) by the write operation command
  • the following represents an operation command in the bootstrap interface. Can be replaced with
  • the M2M client should follow the bootstrap sequence (step) below when attempting to bootstrap an M2M device.
  • the LWM2M Client MUST follow the procedure specified as below when attempting to bootstrap a LWM2M Device :)
  • the M2M client attempts to obtain the bootstrap information from the smart card. (If the UM2M Device has Smartcard, the LWM2M Client tries to obtain Bootstrap Informat ion from the Smartcard using the Bootstrap from Smartcard mode.)
  • the M2M client attempts to get the bootstrap information in factory bootstrap mode. 5 Try it. (If the LWM2M Client is not configured using the Bootstrap from Smart card mode, the LWM2M Client tries to obtain the Bootstrap Information by using Factory Bootstrap mode.)
  • the M2M client If the M2M client has an M2M server object instance through the previous steps, the M2M client requests registration with the M2M server corresponding to the M2M server object instance. (If the UM2M Client has any UM2M Server Object Instances from the previous steps, the LWM2M Client tries to register to the LWM2M Server (s) configured in the LWM2M Server Object Instance (s).)
  • the M2M client fails to register with all M2M servers, or if the client does not have an M2M server object instance, the M2M client waits for a server-initiated bootstrap for a time specified by a specific resource (ClientHoldOffTim), and then starts the server-initiated boot. If no strap occurs during this time, the M2M client attempts to obtain bootstrap information via client initiated bootstrap.
  • a specific resource ClientHoldOffTim
  • the M2M client may use client-initiated bootstrap mode to retrieve bootstrap information from the M2M bootstrap server.
  • the client-initiated bootstrap mode may require that an M2M security server object instance (referring to) pointing to the M2M bootstrap server be set (exists) on the M2M client.
  • the M2M client may transmit a "bootstrap request" operation command to a pre-provisioned M2M bootstrap server URI (S410).
  • M2M client causes the M2M bootstrap server to provide appropriate bootstrap information for the M2M client.
  • the "endpoint client name" (M2M client identifier) of the M2M client may be transmitted.
  • the M2M bootstrap server may set (configure or set) bootstrap information on the M2M client by using a “write” and / or “delete” operation command (S420).
  • the client-initiated bootstrap may be used to set some resources of the bootstrap information of the M2M client to update the bootstrap information after the initial bootstrap.
  • all bootstrap information is optional and may or may not be conveyed.
  • the server-initiated bootstrap may allow the M2M bootstrap server to set bootstrap information on the M2M client without the M2M client sending a bootstrap request to the M2M bootstrap server. Since the M2M Client does not initiate a "bootstrap request" operation command to the M2M Bootstrap Server, the M2M Bootstrap Server may not be configured by the M2M Device or M2M Client before the M2M Client is established by the M2M Bootstrap Server. You need to know if you are ready to bootstram. The mechanism for the M2M bootstrap server to acquire this knowledge is not addressed in the present invention. For example, when the M2M device accesses the network provider's network, a scenario in which the network provider's network informs the M2M bootstrap server of whether the M2M device is ready for bootstrap is possible.
  • the M2M bootstrap server uses the "write” and / or “delete” operation commands to perform the bootstrap information. May set the M2M client.
  • FIG. 5 illustrates the operation of a server-initiated bootstrap mode according to an embodiment of the present invention.
  • the M2M bootstrap server uses the " write " and / or " delete " operation commands at the M2M client.
  • the bootstrap information may be set (S510).
  • the bootstrap bootstrap may include some resources of the bootstrap information of the M2M client to update the bootstrap information after the initial bootstrap. Can be used to set In this example, all bootstrap information is optional
  • the bootstrap information is information transmitted through the M2M bootstrap server and means information necessary for the M2M client to connect / communicate with the M2M server or the M2M bootstrap server.
  • Bootstrap information may be delivered via a bootstrap interface and may be available prior to bootstrap sequences or obtained as a result of the bootstrap sequence.
  • Bootstrap information is classified into M2M Server Bootstrap Information and M2M Bootstrap Server Bootstrap Information, and the M2M Server Bootstrap Information is selectively associated with an M2M Server Account. Additional object instances (eg, access control object instance, network connectivity object instance), and the M2M bootstrap server bootstrap information includes the M2M bootstrap server account.
  • M2M Server Bootstrap Information is classified into M2M Server Bootstrap Information and M2M Bootstrap Server Bootstrap Information, and the M2M Server Bootstrap Information is selectively associated with an M2M Server Account.
  • Additional object instances eg, access control object instance, network connectivity object instance
  • the M2M bootstrap server bootstrap information includes the M2M bootstrap server account.
  • the M2M server account may store information necessary for connecting to the M2M server, server related functions, and server related function information.
  • the M2M Bootstrap Server account stores the information needed to connect to the M2M Bootstrap Server.
  • the M2M client may be provided through a bootstrap message or bootstrap interface that satisfies the security requirements from the M2M server (eg, data confidentiality, data integrity, source authentication). Trust and accept all information.
  • the security requirements eg, data confidentiality, data integrity, source authentication.
  • M2M bootstrap server In order for the M2M client to communicate with the M2M server, basic information and additional information (information transmitted through the bootstrap) for communicating with the M2M server must be provided through the M2M bootstrap server. Examples of such information include server ID, server address (eg IP, URI), security credential, network bearer information, preferred network bearer information, and M2M server. Possible resources (eg, managed objects, objects). Specific M2M server (related) bootstrap information may mean the server information. [255] Access Control Information
  • ACLs access control lists
  • resources including ACLs This information may or may not be provided via bootstram.
  • the access authority of the M2M server should also be deleted from the ACL of the M2M client.
  • the corresponding M2M server is the only access rights holder of a specific resource (eg, an object), there are some problems as described above. Therefore, if there is an access right to the M2M server other than the M2M server to be deleted in the ACL of the M2M client, the following procedure is possible.
  • the deletion request may be prevented.
  • the M2M client receiving the deletion request may send an error response with a message that the corresponding M2M server is the only owner of the access right.
  • the M2M server ie, bootstrap M2M server
  • the deletion changes the owner of the access right to another M2M server or deletes the corresponding access right (ACL), and then requests to delete the account of the M2M server again. Can delete the M2M server account.
  • the M2M client can change the owner of the access right. How to change,
  • [263] B-1) Generally, the M2M server with the highest access authority in the ACL is set as the new access authority owner. "Highest” access means the access rights that have the widest scope of access to the resource or other resources associated with it, for example, to "write” rather than to "read”. Access is higher.
  • the M2M server having the highest sum of the corresponding values may be changed to a new owner of access authority.
  • M2M server 1 has access to write and read
  • M2M server 2 M2M Server 1 becomes the new holder of access rights if it has access to write and execute (values given per command-write: 4, read: 2, execute: 1).
  • the value granted to the access right for each operation command is an example, and the same value (eg, 1) may be assigned to the access right for all the operation commands. This means that an M2M server with access to the most kinds of operational commands can be designated as a new owner of access.
  • [266] B-2) Designate all M2M servers as owners of the access authority.
  • the access authority may be granted to all M2M servers registered in the corresponding M2M client, or the access authority may be granted only to an M2M server having access to the resource. For example, this method is useful if only the default ACL entries remain for servers not specified in the ACL.
  • the resource (s) (eg, a specific access control object instance) in which the M2M server is designated as the access right owner may be deleted. That is, the M2M server, which is the owner of the resource (s), is deleted, so that the corresponding resource is deleted. At this time, the specific resource associated with the resource (s) and the access right value of the specific resource are also deleted.
  • the deleted M2M server may transmit a command requesting authority delegation for a resource that is the owner of the access right. That is, a specific M2M server (M2M server that wants to delegate the access authority) is set before the action command for deleting a server account comes, so that the deleted M2M server is the owner of the access rights of the resources that were the access owner. By adding the specific M2M server.
  • M2M server that wants to delegate the access authority
  • the server includes an access right owner (ie, an ID of another M2M server) after the server account is deleted in the operation command for deleting the server account, and the deleted server has access right when the account of the server is deleted.
  • an access right owner ie, an ID of another M2M server
  • the server contained in the action command for this can be specified to be the owner of the new access right.
  • the specific M2M server is deleted from an ACL.
  • the M2M server to be deleted for a specific resource is the owner of an access right, and the only existing in the ACL.
  • the access control object instance including the ACL may be deleted as well as the specific object instance associated with the access control object instance.
  • the client may revoke the value previously set by the specific M2M server for reporting on a specific event.
  • operations such as access authority setting, resource deletion, and report cancellation described above may be informed to the server.
  • the M2M server may want to be notified of the change of a specific resource or resource group (eg, object instance) to the M2M client.
  • a specific resource or resource group eg, object instance
  • the "observation" feature described earlier allows you to see changes in the resource or resource group.
  • the access to the "read” operation command is possible because it can have the same effect as the reading (by the "read” operation command) for the resource.
  • Unauthorized M2M server can read the value of the resource.
  • FIG. 6 shows a flowchart of observation registration according to an embodiment of the present invention.
  • the server 100 may request an observation registration of a specific resource from the client 200 (S610). Accordingly, the client may check whether the M2M server has the right to read the resource (for example, an access right to the “read” operation command) with respect to the corresponding resource (S620). If the authority is present, the client may store the corresponding server ID and the corresponding resource (S630-1) and reply to the server that the observation registration has been successfully processed (S640). Then, if the resource changes, it goes to the reporting process.
  • the M2M server has the right to read the resource (for example, an access right to the “read” operation command) with respect to the corresponding resource (S620). If the authority is present, the client may store the corresponding server ID and the corresponding resource (S630-1) and reply to the server that the observation registration has been successfully processed (S640). Then, if the resource changes, it goes to the reporting process.
  • Observation may also be performed on resources outside the scope of performing authentication. For example, when an M2M server's observation operation command targets only an object ID, an object instance associated with the object indicated by the object ID is determined. There may be a plurality of and the M2M server may not have a "read" permission for at least one object instance. There are two ways to do this.
  • [288] 1 At the time of observation registration, it may be set to accept unconditionally without performing authentication. In this case, reporting can be performed only on object instances for which authentication (if the M2M server has read permission) is successful among the object instances. Alternatively, if the authentication is successful for each object instance that has been successfully authenticated, and the change is made to one object instance of each successful object instance, the corresponding M2M server has successfully authenticated the object instance that has changed. That is, the server can report on one object instance (ie an individual object instance) when "read" permission exists for that object instance.
  • Reporting can be performed only for successful object instances (determined by whether the M2M server has access to the read operation command).
  • the registered M2M server can handle each successful object instance individually at the time of registration so that the M2M server authenticates to the object instance where the change occurred. Determination of whether the user has the right of access) Upon success, reporting may be performed.
  • FIG. 7 shows a flowchart of an observation report according to an embodiment of the present invention.
  • the M2M client may check whether the M2M server has "read” access to the resource ( S720). If the user has the read permission, the M2M client may perform a report (notification) on the corresponding resource (S730-1). If the "read" access permission is not present, the M2M client may cancel the observation by itself (as well as delete the observation function setting) and notify the M2M server of this (S73 ()-2).
  • the report on the observation may be performed in the Notify operation command through the information reporting interface described above, for example, it will be described in more detail.
  • Figure 8 shows a flow diagram for observation and notification according to one embodiment of the present invention.
  • the M2M server requests observation about a temperature that is updated aperiodically in the M2M client.
  • the M2M server may request the M2M client to observe the resource related to the temperature (S830).
  • the M2M client may respond with a result (eg, success) for the “observe” operation command (S840).
  • the M2M client will wait at least 10 seconds even if the value of the resource has been changed before the "notification" to the M2M server, and after 10 seconds has elapsed the value for the resource to the M2M server. It may notify (S850).
  • the M2M client may notify the M2M server of the value of the resource (S860).
  • the M2M client should transmit the "notification" (S870).
  • the time point at which the notification is made is limited according to the setting for the notification (that is, the minimum period and the maximum period), more specifically, the notification must be performed once after the minimum period and before the maximum period. Will be.
  • the "notification" may be transmitted at any time within 10 to 60 seconds when a change occurs in the resource.
  • the "Cancel Observation" operation command is sent from the M2M Server to the M2M Client to end the observation relationship on the object instance or resource.
  • the operation command does not include any parameter in the M2M layer.
  • the "Cancel Observation” operation command should be used as a response to the "Notify” operation command.
  • This option is not limited. If the M2M server sends a "write attribute" operation command including a cancellation parameter to a specific URI in the M2M client, the M2M client can cancel the observation for the specified URI by itself.
  • the M2M server may set a connection mode. These settings include the intention to reduce the power consumption of the battery by keeping the device's slim longer, and can be used to maintain more stable communication.
  • the M2M server may continuously maintain the online status of the M2M client through the configuration. This state enables the M2M Server to issue commands (administrative or operational commands) to the M2M Client at any time.
  • the M2M server may configure the M2M client to come online through an event.
  • the M2M Client sends a message indicating that it is online, and waits for a command (administrative or operational command) of the M2M server for a certain time or continuously sends a specific command from the M2M server while waiting for the command. You can wait for a certain amount of time starting from the last command.
  • the M2M server may configure the M2M client to stay online periodically. When the interval is set by the M2M server or preset, the M2M client sends a message to the M2M server to inform the M2M server that it is online. If the M2M server continuously transmits a specific command while waiting or waiting for a command, a specific time may be waited from the last command. The period is generated separately from the events occurring in the M2M client, and when the period is reached, the report information collected when offline is transmitted to the M2M server. Alternatively, the M2M server may determine when the M2M client comes online.
  • the M2M client sends an update message at that time, allowing the M2M server to perform a specific action command.
  • the M2M server In event-based online or periodic online, the M2M server is unable to communicate stably with the M2M client.
  • continuous communication e.g., firmware update
  • the M2M server sends a change command to the hidden line mode when the M2M client is temporarily hidden, and resumes the mode change when the continuous communication ends. You can change to an existing mode or change to another mode. Alternatively, the online mode may be continued.
  • the M2M client In case of an event that needs to be changed to online mode, the M2M client immediately becomes on-line. At this point, the M2M client performs the report. If the event is not enough to change to online mode, it is online for other reasons. You can report the event at the time it becomes a state.
  • FIG 9 illustrates a flowchart of an operation according to an embodiment of the present invention.
  • the terminal may receive an operation command for deleting an account of a specific server from the first server (for example, an “delete” operation command) (S910).
  • the server account (or server account) is not limited to the names of object instances, but means a set of information about a specific server. More specifically, the server's account (or server account) is a comprehensive concept including the server object (instance) and the secure object (instance) described above, and additionally the "bootstrap server" resource in the secure object (instance). Means that the switch is false.
  • the operation command for deleting may be received through a bootstrap interface, and accordingly, the first server may be a bootstrap server.
  • the terminal may determine whether there is an object instance accessible only to the specific server among the object instances associated with the specific server.
  • the terminal may delete the object instance (s) and the access object instance (s) associated with the specific server. (S930). That is, the terminal may delete the access right information of the specific server. Since the object instance is not associated with any other server, the object instance and its associated access object instance are not accessible by any server when the account of the specific server is deleted. This is because it is preferable.
  • the terminal may access an object instance (s) associated with the object instance (s).
  • the ACL entry of the resource related to the specific server for example, the access control object instance described above may be deleted (S931). This is because unlike S930, other servers may access the object instance, so it is preferable to delete only resources related to the specific server.
  • the terminal may determine whether the specific server is the access control owner of the access control object instance (S932).
  • the terminal may set a new access control owner for the access control object instance in the following manner (S933). This is to alleviate the inconvenience of resource management due to the absence of the administrator (that is, the access control owner) for the corresponding access control object instance and to remove / prevent the limitation of utilization of the resource.
  • a specific value is assigned for each access right specified (or allowed) in the access control object instance. For example, “1" may be granted to the access right for the "write” operation command and "2" may be given to the access right for the "read” operation command.
  • the terminal may calculate the sum of the values for each server and set the server with the largest sum as a new owner of the access control. If there is more than one server with the same sum, the terminal may select one of them and set it as a new access control owner. If the specific server is not the access control owner of the access control object instance, S933 is not performed.
  • the terminal may check whether the specific server has access to all object instances it has (S940). That is, it can be checked which operation command (s) have access to. If there is an object instance to which the specific server has access to certain operation command (s), the terminal may return to S920 and repeat the operation of the present invention. That is, the operation of the present invention may be performed until there is no resource in which the operation commands to which the specific server has access are specified.
  • the terminal may cancel the observation operation setting set by the specific server (S950). That is, the terminal may delete the configuration information stored through the observation operation command sent by the specific server.
  • the terminal can completely delete the account of the specific server (S960), that is, the request for deleting the account of the specific server was received in S910, but in this step the account of the specific server is substantially It is deleted. If the delete command is processed first, the information such as the short server ID in the server account is deleted and the ACL entry should be deleted based on the short server ID of the server in the access control object instance. Will be deleted. In addition, the terminal may transmit a "De-register" operation command for the specific server (S970).
  • FIG. 9 may refer to the contents described above with reference to FIGS. 1 to 8, and thus those skilled in the art may refer to the description (particularly, based on the tables) related to FIGS. 1 to 8. Referring to FIG. 9, the embodiment related to FIG. 9 may be more specifically defined.
  • the terminal may select and perform only some of the steps shown in FIG. 9.
  • FIG. 10 shows a block diagram of a device configured to perform embodiment (s) of the present invention.
  • the transmitter 10 and the receiver 20 are radio frequency (RF) units 13, capable of transmitting or receiving radio signals carrying information and / or data, signals, messages, and the like. 23 and operatively connected with components such as memory (12, 22), the F unit (13, 23) and the memory (12, 22) for storing various information related to communication in the wireless communication system;
  • Processor 11, 21 configured to control the components to control the memory 12, 22 and / or the RF unit 13, 23 such that the device performs at least one of the embodiments of the invention described above. It includes each.
  • the memory 12 and 22 may store a program for processing and controlling the processors 11 and 21 and may temporarily store input / output information.
  • the memory 12, 22 can be utilized as a buffer.
  • the processor 11, 21 typically controls the overall operation of the various models in the transmitter or receiver.
  • the processors 11 and 21 may perform various control functions for carrying out the present invention.
  • Processors 11 and 21 may also be referred to as controllers, microcontrollers' microprocessors, microcomputers, and the like.
  • the processors 11 and 21 may be implemented by hardware or firmware, software, or a combination thereof. In the case of implementing the present invention using hardware, ASICs (Capable Information Specific Integrated Circuits) or DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable) gate arrays) and the like may be provided in the processors 11 and 21.
  • ASICs Capable Information Specific Integrated Circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable logic devices
  • FPGAs field programmable gate arrays
  • the pipware or software may be configured to include modules, procedures, or functions for performing the functions or operations of the present invention, and the present invention may be performed.
  • the firmware or software configured to be provided may be included in the processors 11 and 21 or stored in the memories 12 and 22 to be driven by the processors 11 and 21.
  • the M2M server or the M2M client, the server or the terminal, etc. may operate as the devices in which they are installed or mounted, that is, the transmission device 10 or the reception device 20, respectively. Can be.
  • the present invention can be used in a terminal, a base station server, or other equipment of a wireless mobile communication system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명의 일 실시예에 따른 무선 통신 시스템에서 서버 계정 삭제에 따른 상기 서버와 연관된 특정 객체 인스턴스의 처리 방법에 있어서, 상기 방법은 상기 단말에 의해 수행되며, 제1서버로부터 특정 서버의 계정을 삭제하기 위한 동작 명령을 수신하는 단계; 및 상기 특정 객체 인스턴스가 상기 특정 서버만이 접근할 수 있는 객체 인스턴스이면, 상기 특정 객체 인스턴스 및 그와 연관된 접근 제어 객체 인스턴스를 삭제하는 단계를 포함하고, 상기 특정 객체 인스턴스가 상기 특정 서버를 포함한 복수의 서버들이 접근할 수 있는 객체 인스턴스이면, 상기 특정 객체 인스턴스와 연관된 접근 제어 객체 인스턴스 내에서 상기 특정 서버의 접근 권한 정보를 삭제하는 단계; 및 상기 특정 서버가 상기 접근 제어 객체 인스턴스의 유일한 접근 제어 소유자이면, 상기 특정 서버를 제외한 상기 복수의 서버들 중 각각이 갖는 접근 권한에 부여된 값의 합이 가장 큰 서버를 상기 접근 제어 소유자로 변경하는 단계를 포함할 수 있다.

Description

【명세서】
【발명의 명칭】
무선 통신 시스템에서 접근 제^를 위한 방법 및 장치
【기술분야】
[1] 본 발명은 무선 통신 시스템에서 접근 제어를 위한 방법 및 이를 위한 장 치에 관한 것이다.
【배경기술】
[2] 유비쿼터스 시대에 접어들면서 M2M(Machine to Machine) 통신 기술이 각광 받고 있다. M2M 기술은 e-Health, smart grid, smart home 등의 여러 응용 분야에 사용될 수 있다. 이러한 웅용 분야에서는 다양한 하드웨어 제원을 가진 M2M 기기 들이 다투어지다 보니, M2M 기기 모두를 포용할 수 있는 프로토콜이 필요하다. 이 에 자원 제약적인 M2M 기기에 맞는 어플리케이션 계층 (application layer) 프로토 콜 개발이 필요하게 되었고, 이러한 프로토콜은 자원 제약적인 M2M 기기에 적용 가능하기에 타 제원올 가진 M2M 기기에는 층분히 적용이 가능하다.
[3] 한편, M2M 기기에도 접근 제어를 위한 기술이 요구되며, 특히 M2M 클라이 언트에 등록된 M2M서버 계정이 삭제되는 경우에 그에 대한 처리와 삭제될 M2M서 버와 연관된 리소스에 대한 처리가 필요하다. 상기 M2M서버 계정 삭제에 따라 특 정 리소스가 접근 권한이 존재하지 않는 리소스가 될 수 있고, 또는 M2M 클라이언 트 내 리소스의 접근 권한을 관리하는 M2M 서버가 없어지는 상황이 발생할 수 있 어 이에 대한 솔루션이 필요하다.
【발명의 상세한 설명】
【기술적 과제】
[4] 본 발명은 접근 제어를 위한 방안을 제안하고자 한다.
[5] 좀더 구체적으로는, 본 발명의 일 실시예는 특정 서버 계정의 삭제되는 경 우에 그와 관련된 리소스들에 대한 처리 방안을 제안하고자 한다.
[6] 또한, 본발명은 통지에 대한 인증 방안을 제안하고자 한다.
[7] 또한, 본 발명은 단말의 접속 모드 설정을 위한 방안을 제안하고자 한다.
[8] 본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들 로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 이하의 발명의 상세 한 설명으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확 하게 이해될 수 있을 것이다.
【기술적 해결방법】
[9] 본 발명의 일 실시예에 따른 무선 통신 시스템에서 서버 계정 삭제에 따른 상기 서버와 연관된 특정 객체 인스턴스의 처리 방법에 있어서, 상기 방법은 상기 단말에 의해 수행되며, 제 1 서버로부터 특정 서버의 계정을 삭제하기 위한 동작 명령을 수신하는 단계; 및 상기 특정 객체 인스턴스가상기 특정 서버만이 접근할 수 있는 객체 인스턴스이면, 상기 특정 객체 인스턴스 및 그와 연관된 접근 제어 객체 인스턴스를 삭제하는 단계를 포함하고, 상기 특정 객체 인스턴스가 상기 특 정 서버를 포함한 복수의 서버들이 접근할 수 있는 객체 인스턴스이면, 상기 특정 객체 인스턴스와 연관된 접근 제어 객체 인스턴스 내에서 상기 특정 서버의 접근 권한 정보를 삭제하는 단계; 및 상기 특정 서버가 상기 접근 제어 객체 인스턴스 의 유일한 접근 제어 소유자이면, 상기 특정 서버를 제외한 상기 복수의 서버들 중 각각이 갖는 접근 권한에 부여된 값의 합이 가장 큰 서버를 상기 접근 제어 소 유자로 변경하는 단계를 포함할 수 있다.
[10] 바람직하게는, 상기 값의 합이 가장 큰 서버가 둘 이상이면, 상기 방법은 상기 둘 이상의 서버 중 하나를 선택하고, 상기 선택된 서버를 상기 접근 제어 소 유자로 변경하는 단계를 포함할 수 있다.
[11] 바람직하게는, 상기 특정 서버의 계정을 삭제하기 위한 동작 명령은 부트 스트랩 인터페이스를 통해 수신될 수 있다.
[12] 바람직하게는, 상기 제 1서버는 부트스트랩 서버일 수 있다.
[13] 바람직하게는, 제 2서버에 의한 상기 접근 제어 객체 인스턴스의 접근 제 어 소유자에 대하여 관찰 동작이 설정되어 있으면, 상기 방법은 상기 접근 제어 소유자가 변경 시에 상기 제 2 서버로 상기 변경에 대한 통지를 전송하는 단계를 더 포함할 수 있다.
[14] 바람직하게는, 상기 특정 서버가 전송한 관찰 동작 명령을 통해 저장한 관 찰 동작 명령 관련 설정 정보를 삭제하는 단계를 더 포함할 수 있다.
[15] 바람직하게는, 상기 특정 서버의 계정은 상기 특정 서버의 짧은 서버 ID 및 상기 특정 서버와의 통신을 위한 보안 키를 포함할 수 있다. [16] 본 발명의 다른 일 실시예에 따른 무선 통신 시스템에서 서버 계정 삭제에 따른 상기 서버와 연관된 특정 객체 인스턴스의 처뫼하도특 구성된 단말로서> 무 선 주파수 (radio frequency; RF) 유닛; 및 상기 RF 유닛을 제어하도록 구성된 프 로세서를 포함하되, 상기 프로세서는 제 1서버로부터 특정 서버의 계정을 삭제하 기 위한 동작 명령을 수신하고, 상기 특정 객체 인스턴스가 상기 특정 서버만이 접근할 수 있는 객체 인스턴스이면, 상기 특정 객체 인스턴스 및 그와 연관된 접 근 제어 객체 인스턴스를 삭제하며, 상기 특정 객체 인스턴스가 상기 특정 서버를 포함한 복수의 서버들이 접근할 수 있는 객체 인스턴스이면, 상기 특정 객체 인스 턴스와 연관된 접근 제어 객체 인스턴스 내에서 상기 특정 서버의 접근 권한 정보 를 삭제하며, 상기 특정 서버가 상기 접근 제어 객체 인스턴스의 유일한 접근 제 어 소유자이면, 상기 특정 서버를 제외한 상기 복수의 서버들 중 각각이 갖는 접 근 권한에 부여된 값의 합이 가장 큰 서버를 상기 접근 제어 소유자로 변경하도록 구성될 수 있다.
[17] 바람직하게는, 상기 값의 합이 가장 큰 서버가 둘 이상이면, 상기 프로세 서는 상기 들 이상의 서버 중 하나를 선택하고ᅤ 상기 선택된 서버를 상기 접근 제 어 소유자로 변경하도록 구성될 수 있다.
[18] 바람직하게는 상기 특정 서버의 계정을 삭제하기 위한 동작 명령은 부트 스트랩 인터페이스를 통해 수신될 수 있다.
[19] 바람직하게는, 상기 제 1서버는 부트스트랩 서버일 수 있다.
[20] 바람직하게는, 제 2 서버에 의한 상기 접근 제어 객체 인스턴스의 접근 제 어 소유자에 대하여 관찰 동작이 설정되어 있으면, 상기 프로세서는 상기 접근 제 어 소유자의 변경 시에 상기 제 2서버로 상기 변경에 대한 통지를 전송하도록 구 성될 수 있다.
[21] 바람직하게는, 상기 프로세서는 상기 특정 서버가 전송한 관찰 동작 명령 을 통해 저장한 관찰 동작 명령 관련 설정 정보를 삭제하도록 구성될 수 있다.
[22] 바람직하게는 상기 특정 서버의 계정은 상기 특정 서버의 짧은 서버 ID 및 상기 특정 서버와의 통신을 위한 보안 키를 포함할 수 있다.
[23] 상기 과제 해결방법들은 본 발명의 실시예들 중 일부에 불과하며, 본 발명 의 기술적 특징들이 반영된 다양한 실시예들이 당해 기술분야의 통상적인 지식을 가진 자에 의해 이하 상술할 본 발명의 상세한 설명을 기반으로 도출되고 이해될 수 있다.
【유리한 효과】
[24] 본 발명의 일 실시예에 따르면, 리소스의 효율적인 관리를 도모할 수 있다.
[25] 또한, 본 발명의 일 실시예에 따르면 관찰에 대응하여 효율적인 통지를 가 능하게 할 수 있다.
[26] 또한, 본 발명의 일 실시예에 따르면 단말의 전력을 효율적으로 관리할 수 있다.
[27] 본 발명에 따른 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급 되지 않은 또 다른 효과는 이하의 발명의 상세한 설명으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
【도면의 간단한 설명】
[28] 본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 사상을 설명한다.
[29] 1은 M2M 클라이언트에 저장된 데이터 (또는 자료) 구조를 도시한다.
[30] 2는 본 발명의 일 실시예와 관련된 리소스 모델을 도시한다.
[31] tr 3은 본 발명의 일 실시예와 관련된 인터페이스의 모델을 도시한다.
[32] 도 4는 본 발명의 일 실시예에 따른 부트스트랩 동작을 도시한다.
[33] r 5는 본 발명의 일 실시예에 따른 부트스트램 동작을 도시한다.
[34] 6은 본 발명의 일 실시예에 따른 관찰 등록 동작을 도시한다.
[35] 도 7 은 본 발명의 일 실시예에 따른 관찰에 따른 보고 (통지) 동작을 도시 한다.
[36] tr 8 은 본 발명의 일 실시예쎄 따른 관찰 등록 및 그에 따른 보고의 동작 예를 도시한다.
[37] 도 9 는 본 발명의 일 실시예에 따른 접근 권한 소유자 변경 설정 동작을 도시한다.
[38] 도 10 은 본 발명의 실시예 (들)을 구현하기 위한 장치의 블록도를 도시한 다.
【발명의 실시를 위한 형태】 [39] 이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세 하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시 적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시 형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이 해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 당업자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다.
[40] 몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으 로 도시될 수 있다. 또한, 본 명세서 전체에서 동일한 구성요소에 대해서는 동일 한 도면 부호를 사용하여 설명한다.
[41] 본 발명에 있어서, 기기간 통신을 위한 디바이스 즉, M2M클라이언트 또는 단말은 고정되거나 이동성을 가질 수 있으며, 기기간 통신을 위한 서버 즉, M2M 서버 또는 서버와 통신하여 사용자데이터 및 /또는 각종 제어정보를 송수신하는 각 종 기기들이 이에 속한다. 상기 M2M 클라이언트는 단말 (Terminal Equipment), MS (Mobile Station), MT(Mobile Terminal), UT User Terminal), SS(Subscribe Station), 무선기기 (wireless device) , PDA (Personal Digital Assistant) , 무선 모뎀 (wireless modem) , 휴대기기 (handheld device) 등으로 불릴 수 있다. 또한, 본 발명에 있어서, M2M 서버는 일반적으로 M2M 단말들 및 /또는 다른 M2M 서버와 통신하는 고정된 지점 (fixed station)을 말하며, 간단히 서버로 지칭될 수 있으며, M2M단말들 및 /또는 다른 M2M서버와 통신하여 각종 데이터 및 제어정보를 교환한 다.
[42] 이하에서는 본 발명과 관련된 배경기술에 대해 설명한다.
[43] 장치 관리 (Device Management )
[44] 장치 관리 (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 conf igurat ion informat ion in Devices , subsequent updates of persistent information in Devices, retrieval of management informat ion from Devices and processing event s and alarms generated by Devices. )
[45] 관리 트리 (Management Tree)
[46] 관리 트리는 관리 서버가 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 트리와 상호호환 가능하게 지칭될 수 있다.
[47] M0 (관리 객체; Management Object)
[48] 관리 객체는 서로 몇몇 방식으로 관련된 노드들의 집합 (하나의 노드 단독 으로도 가능)이 될 것이 의도된 관리 트리의 서브 트리이다. 예컨대, ./Devlnfo 노드와 그 자식 노드들은 관리 객체를 형성할 수 있다. 간단한 관리 객체는 하나 의 단독 (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 ./Devlnfo Nodes form a Management Object . A simple Management Object may consist of one single Node.)
[49] DM Server (Device Management Server)
[50] DM서버 (DM Server)는 상기 DM서버에 대해 특정된 OMA 장치 관리 인에이 블러 (Enabler) 고정 적합 (static conformance) 요구사항들을 따르는 장치 관리 인 프라스트럭쳐에 있는 개념적인 소프트웨어 컴포넌트일 수 있다. 상기 DM 서버는 DM 클라이언트 -서버 프로토콜 및 DM 서버 -서버 인터페이스의 엔드 -포인트로서 서 비스할 수 있다 (An abstract software component in a de loyed 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 CI ientᅳ Server Protocols and DM Server-Server Interface) .
[51] 또한, 본 명세서에서 DM서버는 통신모들, 프로세서모들 등을 구비하는 장 치, 디바이스, 컴퓨터 등 내에 탑재된 채로 제공될 수 있으몌 따라서 하나의 장 치로서 구현될 수 있다.
[52] DM Client (Device Management Client)
[53] DM 클라이언트 (DM Client)는 상기 DM 클라이언트에 대해 특정된 0MA 장치 관리 인에이블러 (Enabler) 고정 적합 (static conformance) 요구사항들을 따르는 장치 임플리멘테이션 (implementation)에 있는 개념적인 소프트웨어 컴포넌트일 수 있다. 상기 DM 클라이언트는 DM 클라이언트 -서버 프로토콜의 엔드 -포인트로서 서 비스할 수 있다 (An abstract software component in a Device im lement at ion that conforms to the OMA Device Management Enabler static conformance requirements specified for DM Clients. It serves as an end-point of the DM CI ientᅳ Server Protocols. ) .
[54] 또한, 본 명세서에서 DM 클라이언트는 통신모듈, 프로세서모들 등을 구비 하는 상기 DM 의 대상이 되는 장치 내에 탑재된 채로 제공될 수 있으며, 따라서 하나의 장치로서 구현될 수 있다.
[55] ACKAccess Control List)
[56] ACL 은 관리 트리 내의 특정 노드에 대한 DM서버 식별자들 및 각각의 DM 서버 식별자와 연관된 접근 권한 (access right)들의 리스트를 지칭한다 (A list of identifiers and access rights associated with each identifier) .
[57] 노드 (Node)
[58] 노드는 관리 트리에 있는 단독 엘리먼트이다. 관리 트리 내에서 노드는 두 종류: 인테리어 노드 및 리프 노드가 있을 수 있다. 노드의 포맷 속성은 노드가 리프 노드인지 인테리어 노드인지 여부에 관한 정보를 제공한다 (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.).
[59] 인테리어 노드 (Interior Node) [60] 인테리어 노드는 자식 노드를 가질 수 있는 반면, 노드에 할당된 값 즉, 노드 값 (node value)은 가질 수 없다. 인테리어 노드의 포맷 속성은 "node"이다 (A Node that may have child Nodes , but cannot store any value. The Format property of an Interior Node is node) .
[61] 리프 노드 (Leaf Node)
[62] 리프 노드는 자식 노드를 가질 수 없고 대신 노드 값을 가질 수 있다. 리 프 노드의 포맷 속성은 "node"가 아니다 (A Node that can store a value, but cannot have child Nodes . The Format property of a Leaf Node is not node.).
[63] 따라서 모든 부모 (parent) 노드는 인테리어 노드가 되어야만 한다.
[64] 영구 노드 (Permanent Node)
[65] 영구 노드는 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 . )
[66] 동적 노드 (Dynamic Node)
[67] 동적 노드는 DDF 속성 스코프 (Scope)가 다이내믹 (Dynamic)으로 설정되있거 나, 상기 DDF 속성 스코프가 특정되지 않은 노드이다 (A Node is dynamic if the DDF property Scope is set to Dynamic, or if the Scope property is unspecified).
[68] 서버 식별자 (Sever Identifier)
[69] 서버 식별자는 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.).
[70] ACL속성 및 ACL 값
[71] DM (device management) 프로토콜로 관리되는 모든 단말은 루트 노드 (root node)로 시작되는 하나의 DM 트리 (tree)를 갖게 되고, DM 프로토콜은 DM 트리의 각 노드를 조작함으로써 단말에 관리 명령을 수행한다. 예로, 단말에 다운로드 된 소프트웨어를 설치하기 위해서는 그 소프트웨어와 매칭되어 있는 인스를 (install) 이라는 노드를 실행 (Exec)하면, 해당 소프트웨어를 설치할 수가 있다. 각각의 노 드는 슷자와 같은 단순한 정보를 나타낼 수도 있고, 그림 데이터나 로그 데이터처 럼 복잡한 데이터를 나타낼 수도 있다. 또한 노드는 실행, 다운로드 등과 같이 하 나의 명령을 나타낼수도 있다.
[72] 각각의 노드는 노드와 관련된 메타 정보를 제공해 주는 속성 (property)을 갖는다. 이 속성 중에 런타임 (runtime) 속성이 있는데, 이 속성은 노드가 DM트리 안에 생성이 되어 소멸될 때까지 사용 가능한 속성을 뜻한다. 이러한 런타임 속성 에는 ACL, Format , Name, Size, Title, TStamp, Type, VerNo가 있다.
[73] 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 값을 갖도록 정의된다.
[74] ACL 은 다른 런타임 속성과 다른 독특한 성질을 갖는데, 이러한 독특한 대 표작인 성질로서 ACL 상속 (ACL inheritance)이 있다. ACL 상속은 DM 트리안의 어 떤 노드가 ACL 값을 가지고 있지 않을 때, 그 노드에 대한 ACL 값을 부모 노드의 ACL 값에서 가져오는 개념이다. 만약 부모 노드 역시 ACL 값을 가지고 있지 않다 면, 그 부모 노드의 부모 노드에서 ACL 값을 가져오게 된다. DM 프로토콜에서는 DM 트리의 최상위 노드인 루트 노드가 반드시 ACL 값을 갖도록 명시하고 있기 때 문에, ACL 값은 반드시 상속되게 된다. 이러한 ACL 상속은 개별 DM 명령별로 이루 어지지 않고, 전체 ACL 값에 대해 수행되기 때문에, ACL 값이 비어 있어야만, 부 모 노드로부터 ACL 상속이 이루어지게 된다. 즉, 어떤 노드의 ACL 값이' Add권한 만을 명시하고 있다면, 명시되어 있지 않는 Get (가져오기) 권한 등은 상속되지 않 는다.
[75] DM프로토콜에서는 루트 노드는 ACL 에 대한 기본 값으로 "Add=*&Get=*"을 갖게 되며, 여기서 는 와일드 카드 (wild card)로써, 임의의 DM서버를 뜻한다. DM 서버가 ACL 값을 ¾기 위해서는 Get 명령을 이용하면 되며, "./NodeA/Noder?prop=Aa"에 대한 Get 명령은 ./NodeA/Nodel 의 ACL 값을 가져오 게 된다. 또한 ACL 값을 바꾸기 위해서는 교체 (Replace) 명령을 이용하면 되며, "./NodeA/Nodel?prop=ACL"에 Replace 명령을 수행하여
"Add=DMSl&Delete=DMSl&Get=DMSl"로 값을 바꾸게 되면 ACL 값이 바뀌게 된다. DM 프로토콜에서는 개별 ACL 엔트리 (acl entry)를 바꿀 수가 없고, 전체 ACL 값을 바 꿀 수 있도록 정의되어 있다. ACL 값을 얻어 오고, 수정하는 권한 역시 ACL 에 기 반하여 정의되는데, 인터리어 노드와 리프 노드에 대한 권한이 조금 다르게 정의 되어 있다.
[76] - 인테리어 노드
해당 노드에 Get 과 Replace 권한을 가지고 있다면, 해당 노 드의 ACL 값을 각각 가져오고 교체할 수 있는 권한이 있다. 또한 Replace 권한은 모든 자식 노드의 ACL 값을 교체할 수 있는 권한을 의미한다.
[77] - 리프 노드
해당 노드의 부모 노드에 Replace 권한을 가지고 있다면, 그 노드의 ACL 값을 교체할 수 있는 권한이 있다. 해당 노드의 ACL을 가져오기 위해 서는 부모 노드에 Get 권한을 가지고 있어야 한다. 마찬가지로, 해당 노드에 Replace 권한을 가지고 있다면 그 노드의 값을 교체할 수 있는 권한을 뜻하며, ACL을 교체하기 위해서는 부모 노드에 Replace 권한을 가지고 있어야 한다.
[78] 인테리어 노드이건 리프 노드이건 상관없이 해당 노드의 ACL 값을 교체하 는 권한은 부모 노드의 ACL 값에 의해 제어될 수 있다. 인테리어 노드에 Replace 권한을 가지고 있다면, 해당 인테리어 노드는 물론, 모든 자식 노드의 ACL 값을 교체할 수 있는 권한을 뜻한다. 따라서, 루트 노드에 Replace 권한을 가지고 있다 면, DM트리 내의 모든 노드에 어떤 권한이든지 가질 수 있다는 뜻이 된다. 하지 만 부모 노드에 Replace권한을 갖고 있다는 것이 곧바로, 자식 노드에 Get 과 같 은 특정 권한을 내포하지는 않으며, 해당 자식 노드에 직접적으로 Get 과 같은 권 한이 명시되어 있어야만 한다. 따라서 명령 수행 전에 ACL 값을 수정해 줘야만 하 며, 수정하려는 노드로 가는 길에 있는 모든 노드에 대한 ACL 값의 수정을 통해 최종적으로 해당 자식 노드의 ACL 값을 수정하게 된다. 이는 불편하기 때문에, DM 프로토콜에서는 부모 혹은 선조 노드 (ancestor node)에 Replace 권한을 가지고 있 을 경우, 중간 노드의 ACL 값 수정 없이 바로 해당 노드의 ACL 값의 수정을 허용 하고 있다.
[79] DM 서버가 새로운 노드를 추가 (Add) 명령을 통해 생성한 경우, 생성된 노 드는 일반적으로 ACL 값을 갖지 않게 되어, 모든 권한을 부모에게서 상속받게 된 다. 하지만 생성한 노드가 인테리어 노드이고 부모 노드에 Replace 권한을 가지 고 있지 않올 경우, 생성과 동시에 ACL 값을 설정하여 해당 노드를 관리하기 위한 층분한 권한을 갖는 것이 필요하다.
[80] ACL 값을 나타내기 위한 문법은 [DM-TND]에 정의되어 있으며, ACL 값의 한 예는 "Get=DMSl&Replace=DMSl&Delete=DMS2' '를 들 수 있다. 여기서 DMS1과 DMS2는 DM Server 의 서버 식별자이며, Get, Replace, Delete 는 DM 명령이다. 따라서 해 당 노드에 대해 DMS1은 Get과 Replace 명령을 수행할 수가 있고, DMS2는 Delete 명령을 수행할 수 있다. 여기서 Get=DMSl, Replace=DMSl, Delete=DMS2 는 각각이 ACL-엔트리 (acl-entry)이며, DM 서버의 개별 명령 권한을 나타낸다. 다시말하면, ACL 값은 개별 ACLᅳ엔트리 (acl-entry)의 집합이며, 각 노드의 ACL 값은 적어도 하 나의 ACL 엔트리를 포함할 수 있다.
[81] DDF (Device Description Framework)
[82] DDF는 특정 디바이스 타입에 대한 관리 신택스와 시멘틱을 기술하는 방법 에 관한 설명이다 (A specification for how to describe the management syntax and semantics for a particular device type) . DDF 는 단말의 MO, 관리 기능 및 DM트리 구조에 대한 정보를 제공한다.
[83] DM 1.3 인증
[84] DM 1.3 에서는 ACL 에 기반하여 인증을 수행한다. DM 인증은 각각의 DM 명 령에 대해 별도로 이루어진다. 만약 DM서버가 다수의 DM 명령을 전송했으면, DM 클라이언트)는 개별 명령을 수행하기 전에 인증을 수행하고, 그 결과로 허가된 DM 명령만 수행하게 된다.
[85] DM트리 [86] DM트리는 DM클라이언트에 의해 노출된 MO 인스턴스들의 집합을 지칭한다. DM트리는 클라이언트와 상호작용하는 관리 서버에 의한 인터페이스로 기능하며, 예컨대 상기 관리 서버는 DM트리로부터 특정 값들을 저장하고 검색 (retrieve)하 며, 상기 DM트리의 속성을 조작할 수 있다.
[87] 다중 서버 환경에서는 하나의 단말에 접속하여 단말 관리 또는 단말이 제 공하는 서비스를 사용하는 서버가 다 수가 될 수 있다. 단말이 제공하는 서비스는 자원의 형태, 자원군의 형태로 제공될 수 있다. 즉, 단말이 특정 서비스를 서버에 게 제공함은, 단말이 특정 자원 (군)을 서버에 노출하며, 서버가 상기 자원을 조작 함으로써 특정 서비스가 수행될 수 있다.
[88] 자원 (군)은 해당 자원 (군)의 접근 권한을 관리하는 접근 권한 관리자인 서 버가 존재하는데, 해당 자원의 접근 권한 관리자가 유일하고 해당 자원을 접근할 수 있는 타 서버가 있는 환경에서 해당 자원 관리자의 서버 계정이 삭제되는 경우 가 발생할 수 있다. 이 경우 해당 자원의 접근 권한 관리자가 삭제되었기에 어떠 한 서버도 해당 자원의 접근 권한 관리를 수행하지 못하게 되며, 이로 인해 어떠 한서버도 해당 자원에 어떤 서버가 어떠한 접근 (예컨대 서버가 해당 자원의 특정 명령에 대해 권한을 가지는 것)을 할 수 있는지에 대해 설정 /해지가 불가능하게 된다. 이에 본 발명에서는 접근 권한 관리자인 서버의 계정이 삭제될지라도 지속 적으로 해당 자원에 대한 접근 권한 관리를 위해 해당 자원을 접근할 수 있는 타 서버 (들) 중 타 서버 (들)의 접근 권한에 기반하여 접근 권한 관리자 서버를 설정 하는 방법을 제시한다.
[89] 도 1 은 M2M 클라이언트에 저장된 데이터 (또는 자료) 구조를 도시한다. M2M클라이언트 (또는 단말)는 상기 M2M클라이언트가 구현할 수 있는 기능에 해당 하는 "객체 (Object)" 로 지칭되는 리소스 (resource)들이 그룹화된 엔티티 (들)를 가질 수 있고, 객체의 식별자는 객체 설명 (specification)에서 정의되거나, 객체 설명에서 정의되지 않은 식별자는 M2M 시스템을 이용하는 사업자 또는 제조사가 설정할 수 있다. 리소스는 실제 데이터를 저장하는 엔티티로써, 리소스는 복수 개 의 리소스 인스턴스 (instance)들을 가질 수 있다. 각 객체는 특정 동작 명령에 의 해 객체 인스턴스 (object instance)로서 생성되어 실체화 되며, M2M클라이언트는 상기 객체 인스턴스를 통해 실제 해당 리소스에 대해 접근할 수 있다. [90] "객체" 는 특정 기능 (functionality) 또는 목적을 위해 사용될 리소스들 의 그룹에 대한 정의이며, "객체 인스턴스" 는 상기 객체가 단말에 실체화 (instantiation, creation)된 리소스 그룹으로, 객체의 기능을 사용하려면 객체 인스턴스가 반드시 생성되어야 한다.
[91] 상세하게는, "객체" 는 실체화될 리소스 그룹의 탬폴릿 (template), 청사 진 (blue print)과 같은 개념으로 실체화될 리소스 그룹이 어떠한 리소스 (들)을 가 질 수 있으며, 리소스 (들)이 어떠한 속성 (예컨대 리소스의 식별자, 이름, 지원되 는 동작 명령, 범위, 단위, 설명)들을 가지는지, 특정 동작 명령쎄 대해 어떠한 동작을 하는지에 대해서 정의한다. "객체 인스턴스" 는 객체의 정의를 따라 단말 에 존재하는 또는 실체화된 리소스 그룹으로 해당 리소스 그룹의 리소스는 리소스 에 해당하는 값을 가질 수 있다.
[92] 이하 명세서에서, 별도의 언급이 없다면, "객체 " 는 "지원되는 리소스 (들)의 그룹" 또는 "리소스 그룹 정의" 와상호 교환가능 (interchangeably)하게 사용될 수 있으며, 그리고 "객체 인스턴스" 는 "실체화된 리소스 (들)의 그룹" 또는 "리소스 그룹" 으로 상호 교환가능 (interchangeably)하게 지칭될 수 있다.
[93] 또한, 각 리소스에는 해당 리소스가 어떤 동작 명령 (operation)을 지원하 는지를 나타내기 위한 정보가 포함되거나 첨부되며, 상기 동작 명령은 예컨대 읽 기 (Read), 쓰기 (Write), 실행 (Execute), 쓰기 속성 (Write Attributes), 탐색 (Discover), 관찰 (Observe) 등이 있다.
[94] 도 2 는 본 발명의 일 실시예와 관련된 리소스 모델을 도시한다. 본 발명 의 일 실시예에 따른 M2M 시스템에서 사용될 리소스에 대한 접근 권한의 제어를 위해 ACLCAccess Control List)와 AT(Access Type)을 할당한다.
[95] 상기 ACL 은 특정 기능이 실체된 자원, 즉 객체 인스턴스 별로 할당되며, 상기 객체 인스턴스의 하위 리소스는 동일한 ACL 를 할당받은 것으로 간주된다. 즉, ACL은 객체 인스턴스 별로 할당되므로, 그 하위 리소스는 동일한 ACL을 갖는 것으로 약속된다.
[96] 객체 인스턴스는 리소스가 그룹화 되어있는 엔티티이고, 특정 기능을 수행 하기 위해 모인 집단이기 때문에 특정 서버에게 특정 기능에 대한 권한을 부여할 시 집단 안의 모든 리소스에 대해 동일한 권한을 부여하는 것이 타당하다. 동일한 권한을 부여하지 않을 시 하나의 기능에 대해 부분적으로만 동작을 수행할 수 있 게 되는데, 이렇게 될 시 해당 서버의 역할이 모호해지며 권한 부여에 대한 의미 가 퇴색된다. 따라서, 본 발명의 일 실시예에선 상기 언급한 것처럼 각 객체 인스 턴스 별로 ACL 을 할당함으로써, 종래에 개별 리소스 별로 저장되는 경우에 비하 여 오버헤드를 줄일 수 있으며, ACL 을 찾는데 동일한 메커니즘이 사용되기에 접 근 권한 인증 절차가 간소화될 수 있다.
[97] 참고로, 각 객체는 복수 개의 객체 인스턴스 (들)로 실체화 (instantiate)될 수 있다.
[98] 또한, 상기 AT 는 개별 리소스 별로 할당될 수 있으며, 각 개별 리소스가 지원하는 접근 방식을 정의할 수 있다. 예컨대, 접근 방식이 동작 명령 (operation)들로 정의된다면, 상기 AT 는 특정 동작 명령들, 예컨대 읽기 (Read), 쓰기 (Write), 실행 (Execute) 둥으로 정의될 수 있다.
[99] 한편, 상기 ACL 과 상기 AT 는 각각 다르게 지칭될 수 있으며, 예컨대 ACL 은 접근 권한 (Access Right), AT 는 지원 가능한 동작 명령 등으로 지칭될 수 있 다.
[100] 인터페이스
[101] 본 발명의 구체적인 실시예들을 설명하기에 앞서, 특정 동작 명령들이 서 버와 클라이언트 (단말) 간에 전달되는 인터페이스에 대해 설명하도록 한다.
[102] 본 발명과 관련되어, 총 4 개의 인터페이스가 존재한다. 1) 부트스트랩 (Bootstrap), 2) 장치 (클라이언트, 디바이스) 등록 (DeviceCCl ient) Registration) 3) 장치 관리 및 서비스 인에이블먼트 (Device Management and Service Enablement), 4) 정보 보고 (Information Report ing) . 상기 네 가지의 인터페이스 들을 위한 동작 명령들은 상향링크 동작들 및 하향링크 동작들로 분류될 수 있다. 각각의 인터페이스의 동작 명령들이 아래의 표에 정의된다.
[103] 【표 1】
Figure imgf000016_0001
[104] 도 3은 네 가지의 인터페이스들을 도시한다. 도 3의 (a)는 부트스트랩 인 터페이스를 위한 동작 모델을 도시한다. 부트스트랩 인터페이스를 위해, 동작 명 령들은 "부트스트랩 요청" 으로 명명된 상향링크 동작 명령 (즉, 클라이언트 개시 부트스트랩)과 "쓰기" 및 "삭제" 로 명명된 하향링크 동작 명령 (즉, 서버 개시 부트스트램)이다. 이들 동작 명령들은 하나 이상의 서버들과 등록하기 위해 클라 이언트를 위한 필요한 객체 인스턴스 (들)를 초기화하는데 사용된다. 부트스트랩은 또한 제조자 부트스트렵 (factory bootstrap) 또는 스마트카드로부터의 부트스트랩 (bootstrap from smartcard) (스마트카드에 저장)을 이용하여 정의된다.
[105] 도 3 의 (b)는 "장치 (클라이언트) 등록" 인터페이스를 위한 동작 모델을 도시한다. 상기 장치 등록 인터페이스를 위해, 동작 명령들은 "등톡" "업데이 트" 및 "등록-해제" 로 명명된 상향링크 동작 명령들이다. 등록" 은 서버에 클 라이언트의 정보를 등록하는데 사용되고, "업데이트" 는 주기적으로 또는 클라이 언트에 발생한 이벤트에 의해 서버에 등록된 클라이언트의 정보 또는 상태를 업데 이트하는데 사용된다. "등록-해제" 는 서버에 클라이언트의 등록을 해제하는 단 계로써 서버는 클라이언트의 정보를 삭제할 수 있다.
[106] 도 3 의 (c)는 "장치 관리 및 서비스 인에이블먼트 (device management and service enablement)" 인터페이스를 위한 동작 모델을 도시한다. 상기 장치 관리 및 서비스 인에이블먼트 인터페이스를 위해, 상기 동작 명령들은 "읽기" "생성" , "삭제" , "쓰기" , "실행" , "쓰기 속성" , 및 "탐색" 으로 명명 된 하향링크 동작 명령들이다. 이러한 동작 명령들은 클라이언트의 리소스들, 리 소스 인스턴스들, 객체들 및 객체 인스턴스들과의 상호작용을 위해 사용된다. "읽기" 동작 명령은 하나 이상의 리소스들의 현재 값을 읽기 위해 사용되며, "쓰기" 동작 명령은 하나 이상의 리소스들의 값을 업데이트하기 위해 사용되고, "실행" 동작 명령은 리소스에 의해 정의된 동작을 개시하기 위해 사용된다. "생성" 및 "삭제" 동작 명령들은 객체 인스턴스들을 생성 또는 삭제하기 위해 사용된다. "쓰기 속성" 은 "관찰" 동작 명령과 관련된 속성을 설정하는데 사용 하며, "탐색" 은 해당 속성을 검색할 때 사용한다.
[107] 도 3 의 (d)는 "정보 보고" 인터페이스를 위한 동작 모델을 도시한다. 상기 정보 보고 인터페이스를 위해, 상기 동작 명령들은 하향링크 동작 명령들 "관찰" 또는 "취소 관찰" 및 상향링크 동작 명령 "통지 (Notify)" 를 포함한 다. 상기 정보 보고 인터페이스는 서버로 클라이언트 상의 리소스와 관련된 새로 운 값을 전송하기 위해 사용된다. "관찰" 은 서버가 자원의 자원의 변화에 관심 이 있을 경우 특정 자원을 관찰하는데 사용되며 , "취소 관찰" 은 해당 관찰을 더 이상 하지 않을 때 (자원의 변화를 더 이상 알고 싶지 않을 때 ) 사용된다. "통 지" 는 "쓰기 속성" 을 통해 설정된 관찰조건 속성이 맞을 경우 이를 서버에 알 릴 때 사용한다.
[108] 접근 제어를 위한 데이터 모델
[109] M2M 디바이스의 파싱 (parsing) 프로세스 오버헤드를 줄이고 공간 오버헤드 (space overhead)를 줄이기 위해 M2M 환경에 적합한 서버 식별자 (Identifier; ID), ACL (또는 접근 권한), AT (또는 지원가능한 동작 명령)로 모델링한다.
[110] - 짧은 서버 ID
ACL 에 포함되어야 하는 정보는 어떤 서버가 어떠한 동작 명령 (operation)을 명령 할 수 있는지 여부를 포함해야 한다. 서버 ID는 통상적으로 URI로 표현되기에 환 경에 따라 URI 가상당히 길어질 수 있을 수 있다. 객체 인스턴스 별로 ACL 이 표 현이 되어야 하고 객체 인스턴스 마다 길이가 긴 서버 ID 가 중복적으로 사용되게 되기에 서버 ID 로 인해 객체 인스턴스 수에 의존하여 상당한 공간 오버헤드를 초 래할 수 있다. 이에 짧고 고정된 길이 (예컨대, 2 바이트)의 짧은 서버 ID 를 ACL 에서 사용할 것을 제안한다. M2M 클라이언트는 짧은 서버 ID 와 서버 ID 간의 맵 핑 관계를 저장하고 있으며, 서버 ID 로부터 수신되는 동작 명령에 대해 짧은 서 버 ID를 찾아 이를 사용하여 ACL을 통해 인증을 수행할 수 있다.
[111] 【표 21
Figure imgf000018_0001
[112] Access Control List (ACL) 또는 접근 권한
[113] ACL 은 각 객체 인스턴스에 할당되며 각각의 M2M 서버에 대한 접근 권한을 지정하는 ACL 엔트리 (entry)의 리스트로 구성된다. ACL 엔트리는 짧은 서버 ID 와 해당 서버의 접근 권한으로 표현될 수 있다. 짧은 서버 ID 와 접근 권한 값은 모 두 고정된 짧은 길이로 설정하여 인증 절차 시의 공간 오버헤드와 처리 효율성을 높인다. 접근 권한에서는 M2M의 각 동작 명령에 대해 하나의 비트 값을 할당하여 특정 동작 명령에 대한 인증 절차를 수행 시 하나의 비트만을 읽으면 되도록 하여 처리 효율성을 높였다. ACL 에서 명시된 서버 이외의 타 서버에 대한 디풀트 (default) ACL 엔트리를 설정할 수 있으며, ACL 에 명시되지 않은 모든 서버에 대 한 동작 명령을 수신 시 M2M 클라이언트는 특정 짧은 서버 ID(예컨대, 0x0000)를 찾아 해당 접근 권한을 이용하여 해당 동작 명령을 인증할 수 있다.
[114] 【표 3】
Figure imgf000019_0001
[115] 위의 표에서 예시된 ACL 엔트리 내 값은 일 예시이며, 다르게 설정될 수 있음은 당업자에게 자명하다.
[116] Access Type (AT) 또는 지원가능 동작 명령
[117] AT 는 리소스가 어떤 동작 명령을 지원하는지를 지정할 수 있다. ACL 엔트 리의 접근 권한과 동일한 형태로, 하나의 비트마다 하나의 동작 명령을 맵핑하였 다.
[118] 【표 4】
Figure imgf000019_0002
[119] 위의 표에서 예시된 Access Type 내 값은 일 예시이며, 다르게 설정될 수 있음은 당업자에게 자명하다. [120] 이하, 본 명세서에서 사용되는 M2M 관련 동작 명령 및 객체 (인스턴스)에 대한 설명을 간략히 하도록 한다.
[121] - 1. "장치 (클라이언트) 등록" 인터페이스를 위한 동작
[122] ·등록 (Register)
[123] 등록은 M2M 클라이언트가 "등록" 동작 명령을 M2M 서버로 전송하는 경우 에 수행된다. M2M 장치가 켜지고 (turned on) 부트스트랩 절차가 완료되면, M2M클 라이언트는 자신이 가지고 있는 서버 객체 인스턴스에 해당하는 M2M서버 각각 (즉, 상기 M2M 클라이언트가 등록된 각 서버)에 "등록" 동작 명령을 수행해야 한다. 아래의 표는 "둥록" 동작 명령을 위해 사용되는 파라미터들을 설명한다.
[124] 【표 5】
Figure imgf000020_0001
Figure imgf000021_0001
[125] *업데이트 (Update)
[126] 주기적으로 또는 M2M 클라이언트 내 특정 이벤트들에 기반하여 또는 M2M 서버에 의해 개시되어, M2M 클라이언트는 M2M 서버로 "업데이트" 동작 명령을 전송함으로써 M2M 서버와 자신의 등톡 정보를 업데이트할 수 있다. "업데이트" 동작 명령은 M2M 서버로 전송된 마지막 등록 파라미터들과 비교하여 변경된 아래 의 표에 열거된 파라미터들만을 포함 가능하다.
[127] 만약 M2M 클라이언트가 M2M서버와의 통신을 위한 UDP 바인딩 및 M2M클라 이언트의 IP 어드레스 또는 포트 변경들을 이용하는 경우, 상기 M2M 클라이언트는 M2M서버로 "업데이트" 동작 명령을 전송해야 한다.
[128] 【표 6】
Figure imgf000021_0002
[129] 상기 "업데이트" 동작 명령은 M2M 서버 객체의 "등록 업데이트 트리거 (Registration Update Trigger)" 리소스에 대한 "실행" 동작 명령을 통해 M2M 서버에 의해 개시될 수 있다. [130] ·등록 -해제 (De-register)
[131] M2M클라이언트가 M2M서버에게 더 이상 이용가능하지 않다고 판단하면 (예 컨대, M2M장치 공장 리셋 (factory reset)), M2M클라이언트는 M2M서버에게 "등 록-해제" 동작 명령을 전송해야 한다. 이 동작 명령을 수신하면, M2M서버는 상 기 M2M서버로부터 상기 M2M클라이언트에 대한 등록 정보를 제거해야 한다.
[132] - 2. "장치 관리 및 서비스 인에이블먼트 (device management and service enablement)" 인터페이스를 위한 동작
[133] ^^^KRead)
[134] "읽기" 동작 명령은 개별 리소스, 어레이 (array)의 리소스 인스턴스들, 객체 인스턴스 또는 객체의 모든 객체 인스턴스들의 값에 접근 (읽기)하기 위해 사 용되며, 다음과 같은 파라미터들을 갖는다.
[135] 【표 7】
Figure imgf000022_0001
[136] ·탐색 (Discover)
[137] "탐색" 동작 명령은 개별 리소스, 객체 인스턴스, 객체에 설정된 속성 (파라미터, attribute, parameter)들을 탐색하기 위해 사용된다. 상기 탐색 동작 명령은 또한 특정 객체 내에서 어떤 리소스들이 구현 (implement)되었는지를 탐색 하기 위해 사용된다. 리턴되는 값들은 리소스의 속성들을 포함하는 각 리소스에 대한 어플리케이션 /링크 -포맷 CoRE 링크들 (RFC6690 의 application/link-format CoRE 형식을 따르는 링크들)의 리스트이다. 상기 탐색 동작 명령은 다음과 같은 파라미터들을 갖는다. [138] 【표 8】
Figure imgf000023_0001
[139] 상기 탐색 명령의 특이한 기능으로는, 상기 파라미터들 중 객체 ID 만이 명시된 경우엔, 어떤 리소스가 구현되어 있는지가 리턴 및 객체에 설정된 관찰 (observe) 파라미터들이 리턴될 수 있고, 상기 파라미터들 중 객체 인스턴스 ID 까지만 명시된 경우 (즉, 객체 ID와 객체 인스턴스 ID가 명시됨), 명시된 객체 인 스턴스에 설정된 관찰 파라미터들이 리턴될 수 있고, 상기 파라미터들 중 리소스 ID까지 명시된 경우 (즉, 객체 ID, 객체 인스턴스 ID, 리소스 ID가 명시됨), 명시 된 리소스에 설정된 관찰 파라미터들이 리턴될 수 있다.
[140] ·쓰기 (Write)
[141] "쓰기" 동작 명령은 리소스, 어레이 (array)의 리소스 인스턴스들, 또는 객체 인스턴스에 복수의 리소스들의 값을 변경 (쓰기)하기 위해 사용된다. 상기 쓰 기 동작 명령은 하나의 명령을 통해 동일한 객체 인스턴스 내에서 복수의 리소스 들이 변경되는 것을 허용한다. 즉, 상기 쓰기 동작 명령은 (개별 리소스 뿐만 아 니라) 하나의 객체 인스턴스에 대하여 접근이 가능하다. 상기 쓰기 동작 명령은 다음과 같은 파라미터들을 갖는다.
[142] 【표 9】
Figure imgf000023_0002
Figure imgf000024_0001
[143] *쓰기 속성 (Write Attributes)
[144] "쓰기 속성" 동작 명령은 리소스 또는 객체 인스턴스, 객체의 속성들을 변경 (쓰기)하기 위해 사용된다. 상기 쓰기 속성 동작 명령은 다음과 같은 파라미 터들을 갖는다.
[145] 【표 10】
Figure imgf000024_0002
Figure imgf000025_0001
[146] 상기 최소 주기, 최대 주기, 초과 (Greater Than) , 미만 (Less Than) 및 스 텝 (Step)은 오직 관찰 동작 명령에서 사용된다. 최대 및 /또는 최소 주기 파라미터 들은 얼마나 자주 "통지 (Notify)" 동작 명령이 관찰된 객체 인스턴스 또는 리소 스를 위해 M2M 클라이언트에 의해 전송되는지를 제어하기 위해 사용된다. 초과, 미만, 및 스텝 파라미터는 리소스 ID 가 지시된 경우에만 유효하다. 초과ᅳ 미만, 및 스텝 파라미터는 리소스 타입이 수 (예컨대, 정수, 소수 (decimal))인 경우에만 지원되어야 한다.
[147] ·실행 (Execute)
[148] "실행" 동작 명령은 어떤 동작을 개시하기 위해 M2M서버에 의해 사용되 며, 개별 리소스들에 대해서만 수행될 수 있다. M2M 클라이언트는 상기 "실행" 동작 명령이 객체 인스턴스 (들) 또는 리소스 인스턴스 (들)에 대해 수신된 경우 에 러를 리턴한다. 상기 실행 동작 명령은 다음과 같은 파라미터들을 갖는다.
[149] 【표 11】
Figure imgf000026_0001
[150] ·생성 (Create)
[151] "생성" 동작 명령은 M2M 클라이언트 내에 객체 인스턴스를 생성하기 위 해 M2M서버에 의해 사용된다. 상기 "생성" 동작 명령은 객체 또는 아직 인스턴 스화 (또는 실체화 (instantiate))'되지 않은 객체 인스턴스 중 하나를 타깃 (target)해야 한다.
[152] M2M서버에 의해 M2M 클라이언트에서 생성된 객체 인스턴스는 M2M 클라이 언트에 의해 지원되는 객체 타입이어야 하고 디바이스 등록 인터페이스의 "등 록" 및 "갱신" 동작 명령을 사용하여 M2M서버로 M2M 클라이언트에 의해 통지 된 객체 타입이어야 한다.
[153] 최대 하나의 객체 인스턴스를 지원하는 객체는 상기 객체 인스턴스가 생성 되면 0의 객체 인스턴스 ID를 할당받아야 한다. "생성" 동작 명령은 다음의 파 라미터들을 갖는다 .
[154] 【표 12】
Figure imgf000026_0002
Figure imgf000027_0001
[155] ·삭제 (Delete)
[156] "삭제" 동작 명령은 M2M 클라이언트 내 객체 인스턴스를 삭제하기 위해 M2M 서버를 위해 사용된다. M2M 서버에 의해 M2M 클라이언트에서 삭제된 객체 인 스턴스는 디바아스 등록 인터페이스의 "등록" 및 "갱신" 동작 명령을 사용하 여 M2M서버로 M2M 클라이언트에 의해 통지된 객체 인스턴스이어야 한다. 상기 삭 제 동작 명령은 다음과 같은 파라미터들을 갖는다.
[157] 【표 13】
Figure imgf000027_0002
[158] - 3. "정보 보고" 인터페이스를 위한 동작
[159] ·관찰 (Observe)
[160] M2M 서버는 M2M 클라이언트 내 특정 리소스, 객체 인스턴스 내의 리소스들 또는 객체의 모든 객체 인스턴스들의 변경들에 대한 관찰 요청을 개시할 수 있다. "관찰" 동작 명령을 위한 관련 파라미터들은 "쓰기 속성" 동작 명령에서 설정 된다. 상기 관찰 동작 명령은 다음의 파라미터들을 포함한다.
[161] 【표 14】
Figure imgf000027_0003
Figure imgf000028_0001
[162] ,통지 (Notify)
[163] "통지" 동작 명령은 M2M클라이언트로부터 M2M서버로 객체 인스턴스 또 는 리소스에 대한 유효한 관찰 동안에 전송된다. 이 동작 명령은 상기 객체 인스 턴스 또는 리소스의 새로운 값을 포함한다. 상기 "통지" 동작 명령은 "관찰" 동작 명령을 위한 "쓰기 속성 (Write Attribute)" 동작 명령에 의해 설정되는 모 든 조건들 (즉, Minimum Period, Maximum Period, Greater Than, Less Than, Step) 만족되면 전송되어야 한다. 상기 통지 동작 명령은 다음의 파라미터를 포함한다.
[164] 【표 15】
Figure imgf000028_0002
[165] ·취소 관찰 (Cancel Observe)
[166] "취소 관찰" 동작 명령은 M2M서버로부터 M2M클라이언트로 객체 인스턴 스 또는 리소스에 대한 관찰 관계를 종료하기 위해 전송된다. 상기 취소 관찰 동 작 명령은 다음의 파라미터들을 포함한다.
[167] 【표 16】
Figure imgf000029_0001
[168] 접근 제어 기법
[169] 이하는 M2M에서 사용되는 접근 제어 방법을 설명하도록 한다.
[170] - 접근 권한 획득
[171] M2M클라이언트가 하나의 M2M서버 객체 인스턴스를 가지면, M2M클라이언 트는 상기 하나의 M2M서버에 대한 접근 제어를 거치지 않고, 즉 접근 제어 객체 인스턴스를 확인하지 않고, 상기 M2M서버는 해당 리소스에 대한 모든 권한을 갖 는다.
[172] 만약 M2M클라이언트가 둘 이상의 M2M서버 객체 인스턴스를 가지면, 상기 M2M클라이언트는 접근하려는 객체 인스턴스 또는 리소스가 속한 객체 인스턴스에 대한 해당 서버의 ACL 을 접근 제어 객체 인스턴스 (들)에서 찾는다. 만약 해당 M2M서버 ID 에 해당하는 접근 권한이 ACL 에 존재한다면, 해당 M2M서버는 해당 접근 권한을 갖는다. 해당하는 M2M서버 ID 의 ACL 엔트리가 존재하지 않는다면, M2M클라이언트는 디폴트 서버 ID에 할당된 접근 권한이 ACL 에 존재하는지 확인 하고 상기 디폴트 서버 ID가 존재한다면, 해당 M2M서버는 디폴트 서버 ID의 접 근 권한을 갖는다. M2M서버 ID 에 해당하는 접근 권한이 존재하지 않고 상기 디 폴트 서버 ID 의 접근 권한이 존재하지 않으면, 해당 M2M 서버는 해당 리소스에 대한 접근 권한을 갖지 않는다.
[173] - 접근 제어 객체 (Access Control Object) [174] 접근 제어 객체는 M2M서버가 동작 명령을 수행하기 위한 접근 권한을 갖 고 있는지 여부를 체크하기 위해 사용된다. 각각의 접근 제어 객체 인스턴스는 특 정 객체 인스턴스에 대한 ACUAccess Control List)를 포함한다.
[175] 【표 17】
Figure imgf000030_0002
Figure imgf000030_0001
Figure imgf000031_0001
[176] - 인증 절차
[177] M2M서버로부터 전달된 동작 명령에 대해 인증 절차를 통과하기 위해서는 두 가지가 만족되어야 한다. 첫째로, M2M서버가 해당 자원 (예컨대, 객체 인스턴 스, 리소스)에 대해 상기 전달된 동작 명령올 수행할 권한 (즉, 접근 권한)이 있는 지, 둘째로, 해당자원이 상기 전달된 동작 명령을 지원하는지가 만족되어야 한다. 이처럼, 본 발명의 일 실시예에 다른 접근 권한 인증 절차는 두 개의 스텝, 즉 계 층적인 구조로 수행된다.
[178] M2M클라이언트는 해당 자원에 대해 접근 권한이 없을 경우 에러 메시지를 전송하고, 해당 자원이 상기 전달된 동작 명령을 지원하지 못할 경우에는 상기 해 당 자원에 대한 정보를 M2M서버로 전달함으로써, 어떠한 자원으로 인해 상기 전 달된 동작 명령이 수행되지 않았음을 알린다. 인증 절차는 3-레벨, 즉 리소스, 객 체 인스턴스, 객체에 대하여 조금씩 다르게 이루어진다.
[179] - 리소스에 대한동작 명령
[180] 만약 M2M서버가 개별 리소스에 접근하면, 즉 상기 M2M 서버가 개별 리소 스에 대한 동작 명령을 M2M클라이언트로 전송하면, 상기 M2M 클라이언트는 위에 서 설명한 접근 권한을 획득하는 방법에 따라 상기 개별 리소스가 속하는 객체 인 스턴스에 대한 M2M서버의 접근 권한을 획득하고, 상기 접근 권한이 상기 동작 명 령을 수행하도톡 승인되었는지 여부를 체크할 수 있다.
[181] 만약 상기 동작 명령이 허용되지 않으면, 상기 M2M클라이언트는 상기 M2M 서버로 "접근 권한 허용이 거절됨" 에러 코드를 전송해야 한다.
[182] 만약 상기 동작 명령이 허용되면, M2M 클라이언트는 상기 개별 리소스가 상기 동작 명령을 지원하는지 여부를 검증할 수 있다.
[183] 만약 상기 동작 명령이 상기 개별 리소스에 의해 지원되지 않으면, 상기 M2M 클라이언트는 상기 M2M 서버로 "동작 명령이 지원되지 않음" 에러 코드를 전송해야 한다. [184] 만약 상기 개별 리소스가 상기 동작 명령을 지원하면, 상기 M2M 클라이언 트는 상기 동작 명령을 수행할 수 있다.
[185] - 객체 인스턴스에 대한 동작 명령
[186] 만약 M2M 서버가 객체 인스턴스에 액세스하면 즉 상기 M2M 서버가 객체 인스턴스에 대한 동작 명령을 M2M클라이언트로 전송하면, 상기 M2M클라이언트는 상술한 접근 권한 획득 방법에 따라 객체 인스턴스에 대한 M2M 서버의 접근 권한 을 획득하고 상기 접근 권한이 상기 동작 명령을 수행하도록 승인되었는지 여부를 체크할 수 있다:
[187] 만약 상기 동작 명령이 허용되지 않으면, 상기 M2M 클라이언트는 상기 M2M 서버로 "접근 권한 허용이 거절됨" 에러 코드를 전송해야 한다.
[188] 만약 상기 동작 명령이 허용되면, 상기 M2M 클라이언트는 상기 동작 명령 에 기반하여 다음의 절차들을 수행할 수 있다.
[189] "쓰기 (Write)" 동작 명령에 대해, 상기 M2M 클라이언트는 상기 동작 명 령에서 전달된 모든 리소스들이 "쓰기" 동작 명령을 수행하도록 허용된 경우에 만 상기 객체 인스턴스에 대한 동작 명령을 수행할 수 있다. 만약 (상기 동작 명 령에서 전달된) 어떤 리소스라도 상기 "쓰기" 동작 명령을 지원하지 않으면, 상 기 M2M 클라이언트는 상기 M2M 서버에게 "동작 명령이 지원되지 않음" 에러 코 드를 전송함으로써 상기 동작 명령을 지원하지 않은 리소스들을 알릴 수 있다.
[190] "읽기 (Read)" 동작 명령에 대해, 상기 M2M 클라이언트는 "읽기" 동작 명령을 지원하지 않는 리소스 (들)을 제외한 모든 리소스들을 읽고 (retrieve), 상 기 읽은 리소스 (들) (retrieved Resources) 정보를 상기 M2M 서버로 전송할 수 있 다.
[191] "생성 (Create)" 동작 명령에 대해, 상기 M2M 클라이언트는 오직 상기 등 작 명령에서 전달된 모든 리소스들이 "쓰기" 동작 명령을 수행하도록 허용되고 모든 필수 리소스들이 특정된 경우에만 상기 객체 인스턴스에 대한 동작 명령을 수행할 수 있다. 만약, (상기 동작 명령에 포함된) 어떤 리소스라도 상기 "쓰 기" 동작 명령을 지원하지 않으면, 상기 M2M 클라이언트는 상기 M2M 서버에게 "동작이 지원되지 않음" 에러 코드를 전송함으로써 상기 동작 명령을 지원하지 않는 리소스들을 알릴 수 있다. 만약 모든 필수 리소스들이 특정되지 않으면, 상 기 M2M 클라이언트는 상기 M2M서버로 "Bad Request" 에러 코드를 전송할 수 있 다.
[192] "삭제 (Delete)" , "관찰 (Observe)" , "쓰기 속성 (Attribute)" , 또는 "탐색 (Discover)" 동작 명령에 대해, 상기 M2M 클라이언트는 상기 동작 명령을 수행해야 한다. 즉, 상기 M2M 클라이언트는 상기 객체 인스턴스에 대한 동작 명령 이 상기 객체 인스턴스에 속한 모든 리소스에 의해 지원되는지 여부를 체크하지 않고, 상기 삭제 (Delete)" , "관찰 (Observe)" , "쓰기 속성 (Attribute)" , 또는 "탐색 (Discover)" 동작 명령을 수행해야 한다.
[193] 만약 앞서 언급한 동작 명령이 아닌 동작 명령에 대해서는, 상기 M2M 클라 이언트는 상기 동작 명령을 수행해서는 안되며 상기 M2M 서버로 "동작이 지원되 지 않음" 에러 코드를 전송해야 한다.
[194] 객체 인스턴스에 대한 동작 명령에 대해 정리하면, 상기 객체 인스턴스에 대한 해당 M2M서버와 접근 권한의 소유 여부는 상기 접근 권한 획득 방법에 의해 수행된다. 그리고 나서, 상기 객체 인스턴스에 속한 개별 리소스 (들)이 상기 동작 명령을 지원하는지 여부가 확인되며, 이 과정은 상기 동작 명령의 종류에 따라 수 행되거나 수행되지 않는다.
[195] - 객체에 대한 동작 명령
[196] 객체에 대한 동작 명령 또한 동작 명령의 종류에 따라 정의된다.
[197] M2M 서버가 "읽기" 동작 명령을 객체에 전송하면, 즉 객체에 대한 "읽 기" 동작 명령을 M2M 클라이언트로 전송하면, 상기 M2M 클라이언트는 상기 객체 에 속하는 (또는 하위의) 객체 인스턴스들 증 상기 M2M 서버가 접근 권한이 있는 객체 인스턴스 (들)의 정보를 모아 M2M 서버로 전달할 수 있다. 상기 M2M 서버가 접근 권한이 있는지 여부는 앞서 설명한 접근 권한 획득 방법에 따라 수행된다.
[198] 상기 M2M서버가 접근 권한이 있는 객체 인스턴스의 정보는 상기 M2M 클라 이언트는 상기 "읽기" 동작 명령을 지원하지 않는 리소스 (들)을 제외한 모든 리 소스들을 읽고 (retrieve) 상기 M2M서버로 상기 읽은 리소스 (들) 정보를 의미한다.
[199] 상기 M2M서버가 "생성 (Create)" 동작 명령을 객체에 전송하면, 즉 상기 M2M 서버가 객체에 대한 "생성" 동작 명령을 M2M 클라이언트로 전송하면, 상기 M2M 클라이언트는 앞서 설명한 접근 권한 획득 방법에 따라 상기 M2M서버가 상기 객체에 대한 접근 권한을 갖는지 여부를 확인할 수 있다. [200] 상기 M2M 서버가 상기 객체에 대한 접근 권한이 있다면, 상기 M2M 클라이 언트는 오직 상기 동작 명령에서 전달된 모든 리소스들이 "쓰기 (Write)" 동작 명령을 수행하도록 허용되고 모든 필수 리소스들이 특정되는 경우에만 상기 동작 명령을 수행할 수 있다. 만약 (상기 동작 명령에서 전달된) 어떠한 리소스도 상기 "쓰기" 동작 명령을 지원하지 않으면, 상기 M2M 클라이언트는 상기 M2M 서버에 게 "동작 명령이 지원되지 않음" 에러 코드를 전송함으로써 상기 동작 명령을 지원하지 않는 리소스들을 알릴 수 있다. 만약 모든 필수 리소스들이 동작 명령에 포함되어 있지 않으면, 상기 M2M클라이언트는 "Bad Request" 에러 코드를 상기 M2M서버로 전송할 수 있다. 즉, 상기 M2M 클라이언트는 이 경우 상기 M2M서버에 의한 동작 명령이 잘못되었음을 상기 M2M서버에게 알리는 것이다.
[201] "탐색 (Discover)" 동작 명령에 대해, M2M 클라이언트는 상기 동작 명령 을 수행해야 한다. 즉, "탐색" 동작 명령에 대해선, 상기 M2M 클라이언트는 상 기 M2M 서버가 상기 객체 하위의 모든 객체 인스턴스 (들)에 대한 접근 권한을 갖 는지 여부와 상기 모든 객체 인스턴스 (들)에 속한 모든 리소스 (들)이 상기 "탐 색" 동작 명령을 지원하는지 여부를 체크하지 않는다.
[202] "관찰 (Observe)" 또는 "쓰기 속성 (Write Attributes)" 동작 명령에 대 해, 상기 M2M 클라이언트는 상기 동작 명령을 수행해야 한다. 즉, "관찰" 또는 "쓰기 속성" 동작 명령에 대해선, 상기 M2M클라이언트는 상기 M2M서버가상기 객체 하위의 모든 객체 인스턴스 (들)에 대한 접근 권한을 갖는지 여부와 상기 모 든 객체 인스턴스 (들)에 속한 모든 리소스 (들)이 상기 "관찰" 또는 "쓰기 속 성" 동작 명령을 지원하는지 여부를 체크하지 않는다.
[203] 만약 상술된 동작 명령외의 동작 명령에 대해선, 상기 M2M 클라이언트는 해당 동작 명령을 수행해서는 안되고 "동작이 지원되지 않음" 에러 코드를 상기 M2M서버로 전송할 수 있다.
[204] 객체에 대한 동작 명령에 대해 정리하면, 상기 객체에 대한 해당 M2M 서버 의 접근 권한의 소유 여부는 상기 객체에 대한 특정 동작 명령에 따라 상기 접근 권한 확득 방법에 의해 수행될 지 여부가 결정된다. 그리고 나서, 상기 객체 인스 턴스에 속한 개별 리소스 (들)이 상기 동작 명령을 지원하는지 여부가 확인되며, 이 과정은 상기 동작 명령의 종류에 따라 수행되거나 수행되지 않을 수 있다. 또 한, 객체에 대한 동작 명령의 경우 특정 동작 명령에 대해서는 접근 권한 소유 여 부와 상기 특정 동작 명령의 지원 여부에 대해 확인하지 않을 수도 있다.
[205] 이하는 서버 보안 객체 (또는 객체 인스턴스)와 서버 객체 인스턴스 (또는 객체 인스턴스), 그리고 펌웨어 업데이트 객체 (또는 객체 인스턴스)를 간략히 설 명한다.
[206] M2M 서버 보안 객체 (또는 객체 인스턴스)는 특정된 M2M 서버 또는 M2M 부 트스트랩 서버에 접근하기 적절한 M2M클라이언트의 키잉 매터리얼 (key material) 을 제공한다. 하나의 객체 인스턴스는 M2M 부트스트랩 서버를 지칭 (address)하는 것을 권장한다. 상기 M2M서버 보안 객체의 리소스들은 M2M 부트스트랩 서버 또는 스마트카드로부터의 부트스트램 인터페이스를 통해 변경될 수 있으나, 다른 어떤 M2M서버에 의해서도 접근될 수 없다.
[207] 【표 18】
Figure imgf000035_0001
[208] 【표 19】
Figure imgf000035_0002
Figure imgf000036_0001
Figure imgf000037_0001
[209] 다음은 M2M서버 객체 (또는 객체 인스턴스)에 대해 설명한다. M2M 서버 객 체는 M2M 서버와 관련된 데이터를 제공한다. M2M 부트스트랩 서버는 그와 관련된 이러한 객체 인스턴스를 갖지 않는다.
[210] 【표 20】
Figure imgf000037_0002
[211] 【표 21】
Figure imgf000037_0003
Figure imgf000038_0001
Figure imgf000039_0001
Figure imgf000040_0001
[212] 본 발명은 M2M 클라이언트에서 M2M 서버의 계정이 삭제될 경우에 발생할 수 있는 비효율성을 해결하는 것에 기인한다. M2M서버의 계정이 삭제될 경우, 해 당 M2M서버가 특정 리소스에 가진 접근 권한 또한 삭제되게 되는데, 삭제될 접근 권한이 리소스를 지속적으로 관리하는테 어려움을 초래할 수 있다. 또한, 접근 권 한 삭제만이 이루어지게 되면 접근 권한이 존재하지 않는 리소스가 M2M 클라이언 트에 남게 되는데, 이렇게 되면 해당 리소스는 아무도 접근할 수 없는 엔티티가 된다. M2M 클라이언트에 이벤트가 발생할 경우 이를 알리는 설정 (configuration) 이 설정되어 있을 수 있는데, 해당 설정 또한 해지를 함으로써 M2M서버의 계정이 삭제될 시의 효율적인 자원 관리 메커니즘을 소개한다.
[213] 접근 권한 소유자 (Access Right Owner)
[214] 접근 권한 소유자는 특정 리소스의 ACL을 변경할 수 있는 엔티티이다. 상 기 접근 권한 소유자는 특정 접근 권한을 가지고 있을 수도 있으며 (예컨대, delegation access right) , 특정 필드에 따로 저장 (예컨대, Access Control Owner field, self-permission field)되어 해당 ACL을 관리할 수 있다. 표 17에 나타낸 것처럼, 상기 접근 권한 소유자는 하나또는 여럿일 수 있다.
[215] 한편, M2M서버 계정의 삭제는 위에서 설명한 부트스트랩 인터페이스를 통 해 M2M 부트스트랩 서버에 의해 가능하다. 따라서, 상기 M2M 서버 계정의 삭제는 상기 M2M 부트스트랩 서버와 대상 M2M 클라이언트 사이에서 특정 동작 명령의 송 수신을 통해 이루어진다. 이에 대한 참조 설명을 하도록 한다.
[216] 부트스트랩 인터페이스는 M2M 클라이언트가 하나 이상의 M2M 서버들과
"둥록 (Register)" 동작 명령을 수행할 수 있도록 하기 위해 상기 M2M 클라이언 트에 필수적 정보를 제공 (provision)하는데 사용된다. M2M 인에이블러 (enabler)에 의해 지원되는 네 개의 부트스트랩 모드들이 존재한다.
[217] - 공장 부트스트랩: M2M 클라이언트에 미리 부트스트랩 정보가 설정되어 ᄋ")
ΛΛ으ᄆ
[218] - 스마트카드로부터의 부트스트랩: M2M 클라이언트가 스마트카드로부터 부 트스트램 정보를 받아 음
[219] ᅳ 클라이언트 개시 부트스트랩: M2M 클라이언트가 M2M 부트스트랩 서버에 부트스트랩을 요청하고, M2M 부트스트랩 서버는 M2M 클라이언트의 부트스트랩 정 보를 추가 /삭제 /갱신한다.
[220] - 서버 개시 부트스트랩: M2M부트스트랩 서버는 M2M 클라이언트의 부트스 트랩 정보를 추가 /삭제 /갱신한다.
[221] M2M 클라이언트는 상기 부트스트랩 인터페이스에서 특정된 적어도 하나의 부트스트랩 모드를 지원할 수 있다 . M2M 서버는 상기 부트스트랩 인터페이스에서 특정된 모든 부트스트램 모드들을 지원할 수 있다.
[222] 부트스트랩 정보는 M2M 서버 또는 M2M 부트스트랩 서버에 접속하기 위해 M2M 클라이언트에서 설정될 필요가 있는 정보를 지칭한다. 상기 부트스트랩 정보 는 부트스트랩 시퀀스를 수행하기 전에 이용가능할 수 있거나, 또는 상기 부트스 트랩 시뭔스의 결과로서 획득될 수 있다. 상기 부트스트랩 정보는 두 개의 유형, 즉 M2M 서버를 위한 부트스트랩 정보 및 M2M 부트스트랩 서버를 위한 부트스트랩 정보로 구분될 수 있다.
[223] M2M 클라이언트는 부트스트랩 시퀀스 이후에 M2M 서버를 위한 부트스트랩 정보 (예컨대 M2M 서버와의 연결을 위해 필요한 정보)를 가질 수 있다. 또한, M2M 부트스트랩 서버를 위한 부트스트랩 정보 (예컨대 M2M 부트스트랩 서버와의 연결을 위해 필요한 정보)를 가질 수 있다. 상기 M2M서버를 위한 부트스트랩 정보는 M2M 서버에 등록 및 접속하기 위해 M2M클라이언트를 위해 사용된다.
[224] M2M 서버를 위한 부트스트랩 정보는 적어도, "부트스트랩 서버" 리소스 가 "false" 로 설정된 M2M서버 보안 객체 인스턴스를 포함할 수 있다. M2M서버 를 위한 부트스트램 정보는 다른 객체 인스턴스들을 포함할 수 있다.
[225] M2M클라이언트는 각각의 M2M서버를 위한 부트스트랩 정보의 집합올 포함 한 둘 이상의 M2M 서버들을 사용하도록 구성될 수 있다. M2M 부트스트랩 서버를 위한 부트스트랩 정보는 M2M 서버를 위한 부트스트랩 정보를 획득하기 위해 M2M 부트스트랩 정보에 접속하기 위해 M2M 클라이언트에 의해 사용될 수 있다. 상기 M2M 부트스트랩 서버를 위한 부트스트랩 정보는 "부트스트랩 서버" 리소스가 "true" 로 설정된 M2M서버 보안 객체 인스턴스일 수 있다.
[226] 부트스트랩 정보는 다음과 같이 분류될 수 있다.
[227] 【표 22】
Figure imgf000042_0001
[228] M2M 클라이언트는 부트스트랩 인터페이스를 통해 전송된 부트스트랩 정보 를 인증 절차 (접근 제어) 없이 수락할 수 있다.
[229] 상기 부트스트랩 인터페이스는 M2M 클라이언트를 선택적으로 설정하여, 상 기 M2M클라이언트가 성공적으로 M2M서버와 등록 또는 M2M부트스트랩 서버와 연 결하도록 한다. 클라이언트 부트스트랩 동작 명령은 M2M 부트스트랩 서버의 /bs 경로로, 질의 (query) 스트링 (string) 파라미터는 M2M 클라이언트 식별자 포함하여 CoAP POST요청을 전송함으로써 수행된다.
[230] 클라이언트 개시 부트스트랩에서, M2M 부트스트랩 서버가 부트스트랩 요청 (Request Bootstrap) 동작 명령을 수신하면, 상기 부트스트랩 서버는 쓰기 (Write) 및 /또는 삭제 (Delete) 동작 명령을 수행할 수 있다. 서버 개시 부트스트랩에서, 부트스트램 서버는 쓰기 (Write) 동작 명령을 수행할 수 있다. 쓰기 및 /또는 삭제 동작 명령은 객체 인스턴스 또는 리소스를 타깃할 수 있다. 상기 쓰기 및 삭제 동 작 명령은 복수 회 (multiple times) 전송될 수 있다. 오직 부트스트랩 인터페이스 에서, 삭제 동작 명령은, M2M 부트스트랩 서버가 M2M 클라이언트로 쓰기 동작 명 령 (들)을 전송하기 전에 M2M 클라이언트를 초기화를 위해 M2M 클라이언트에서 M2M 부트스트랩 서버 계정을 제외한 존재하는 모든 객체 인스턴스들을 삭제하기 위해 7" URI 를 타깃할 수 있다. 장치 관리 및 서비스 인에이블 인터페이스에서의 쓰기 동작 명령과 달리, 상기 M2M 클라이언트는 타깃하는 객체 인스턴스 또는 리 소스의 존재와 관계없이 상기 동작 명령의 페이로드 (즉, 상기 쓰기 동작 명령으로 기록하고자 (쓰고자) 하는 특정 값)를 기록할 수 있다. 다음은 부트스트랩 인터페 이스에서의 동작 명령을 나타낸다. 상기 쓰기 동작 명령은 타 동작 명령 (예컨대, 생성)으로 대체 가능하다.
[231] 【표 23】
Figure imgf000043_0001
[232] 부트스트랩 시퀀스
[233] M2M클라이언트는 M2M 기기를 부트스트랩을 시도하려고 할 때 아래의 부트 스트랩 시퀀스 (단계)를 따라야 한다. (The LWM2M Client MUST follow the procedure specified as below when attempting to bootstrap a LWM2M Device:) [234] M2M 기기가 스마트카드가 있으면, M2M 클라이언트는 부트스트랩 정보를 스 마트카드로부터 얻으려고 시도한다. (If the UM2M Device has Smartcard, the LWM2M Client tries to obtain Bootstrap Informat ion from the Smartcard using the Bootstrap from Smartcard mode.)
[235] M2M 클라이언트가 스마트카드로부터 설정되지 않는다면, M2M 클라이언트는 제조자 부트스트랩 (factory bootstrap) 모드로 부트스트랩 정보를 얻으려고 시도 5 해 본다. (If the LWM2M Client is not configured using the Bootstrap from Smart card mode, the LWM2M Client tries to obtain the Bootstrap Information by using Factory Bootstrap mode.)
[236] M2M 클라이언트가 이전 단계들을 통해 M2M 서버 객체 인스턴스를 가지고 있다면, M2M 클라이언트는 해당 M2M 서버 객체 인스턴스에 해당하는 M2M 서버에 등록을 요청한다. (If the UM2M Client has any UM2M Server Object Instances from the previous steps, the LWM2M Client tries to register to the LWM2M Server (s) configured in the LWM2M Server Object Instance(s) . )
[237] M2M 클라이언트가 모든 M2M서버에 등록을 실패할 경우 또는 클라이언트가 M2M 서버 객체 인스턴스를 가지고 있지 않을 경우, M2M 클라이언트는 서버 개시 부트스트랩을 특정 자원 (ClientHoldOffTim)이 명시한 시간만큼 기다렸다가, 서버 개시 부트스트랩이 상기 시간 동안 발생하지 않으면 M2M 클라이언트는 클라이언트 개시 부트스트랩을 통해 부트스트랩 정보를 얻는 것을 시도한다. (If L丽 2M Client fails to register to all the LWM2M Servers or the Client doesn' t have any LWM2M Server Object Instances, and the LWM2M Client hasn' t received a Server Initiated Bootstrap within the CI ientHoldOf fTime, the LWM2M Client performs the Client Initiated Bootstrap. )
[238] 클라이언트 개시 부트스트랩
[239] M2M 서버 계정이 M2M 클라이언트 내에 설정되지 않거나 (존재하지 않거나) M2M 서버와의 "등록" 동작 명령을 수행하기 위한 시도가 실패되는 경우가 있을 수 있다. 이러한 경우, M2M 클라이언트는 M2M 부트스트랩 서버로부터 부트스트랩 정보를 가져오기 (retrieve)하기 위해 클라이언트 -개시 부트스트랩 모드를 사용할 수 있다. 상기 클라이언트ᅳ개시 부트스트랩 모드는 M2M 부트스트랩 서버를 가리키 는 (참조하는) M2M보안서버 객체 인스턴스가 M2M 클라이언트에 설정된 (존재하는) 것을 요구할 수 있다.
[240] 도 4 는본 발명의 일 실시예에 따른 클라이언트 -개시 부트스트랩 모드의 동작을 도시한다. M2M 클라이언트는 미리-제공된 (pre-provisioned) M2M 부트스트 랩 서버 URI 로 "부트스트랩 요청" 동작 명령을 전송할 수 있다 (S410). 상기 부 트스트랩을 요청하는 경우, 상기 M2M 클라이언트는 상기 M2M 부트스트랩 서버로 하여금 상기 M2M 클라이언트를 위한 적절한 부트스트랩 정보를 제공하도록 하기 위해 파라미터로서 상기 M2M클라이언트의 "엔드포인트 (endpoint) 클라이언트 이 름" (M2M 클라이언트 식별자)을 전송할 수 있다.
[241] 상기 M2M부트스트랩 서버는 "쓰기" 및 /또는 "삭제" 동작 명령을 사용 하여 상기 M2M 클라이언트에 부트스트랩 정보를 설정 (configure 또는 set)할 수 있다 (S420).
[242] 상기 클라이언트 -개시 부트스트램은 최초 부트스트랩 이후 부트스트랩 정 보를 갱신하기 위해서 상기 M2M 클라이언트의 상기 부트스트랩 정보의 몇몇 리소 스들을 설정하는데 사용될 수 있다. 이 예에서, 모든 부트스트랩 정보는 선택사항 (optional)로, 전달될 수도 있고 전달되지 않을 수도 있다.
[243] 서버 개시 부트스트랩
[244] 서버 -개시 부트스트랩은 M2M 클라이언트가 M2M 부트스트랩 서버로 부트스 트랩 요청을 전송하지 않고, M2M부트스트랩 서버가 M2M클라이언트에 부트스트랩 정보를 설정할 수 있다. 상기 M2M클라이언트가상기 M2M부트스트랩 서버로 "부 트스트랩 요청" 동작 명령을 개시하지 않기 때문에, 상기 M2M 부트스트랩 서버는 상기 M2M클라이언트가상기 M2M부트스트랩 서버에 의해 설정되기 전에 M2M 장치 또는 M2M클라이언트가 부트스트램할 준비가 되었는지 여부를 알 필요가 있다. 상 기 M2M 부트스트랩 서버가 이러한 지식을 획득하기 위한 메커니즘은 본 발명에서 다루진 않는다. 일 예로 M2M 장치가 네트워크 제공자의 네트워크에 접속하는 경우, 네트워크 제공자의 네트워크가 M2M 부트스트랩 서버에쎄 M2M 장치의 부트스트랩 준비여부를 알려주는 시나리오가 가능하다.
[245] 상기 M2M 부트스트랩 서버가 상기 M2M 장치가 상기 부트스트랩 정보를 수 신할 준비가 되었음을 통지받으면, 상기 M2M 부트스트랩 서버는 "쓰기" 및 /또는 "삭제" 동작 명령을 사용하여 상기 부트스트랩 정보를 상기 M2M 클라이언트를 설정할 수 있다.
[246] 도 5 는 본 발명의 일 실시예에 따른 서버 -개시 부트스트랩 모드의 동작을 도시한다 · M2M부트스트랩 서버는 "쓰기" 및 /또는 "삭제" 동작 명령을 사용하 여 상기 M2M클라이언트에서 상기 부트스트랩 정보를 설정할 수 있다 (S510).
[247] 상기 서버ᅳ개시 부트스트랩은 최초 부트스트랩 이후 부트스트랩 정보를 업 데이트하기 위해서 상기 M2M 클라이언트의 상기 부트스트랩 정보의 몇몇 리소스들 을 설정하기 위해 사용될 수 있다. 이 예에서, 모든 부트스트랩 정보는 선택사항
(optional)로, 전달될 수도 있고 전달되지 않을 수도 있다.
[248] 부트스트랩 정보 (Bootstrap Information)
[249] 부트스트랩 정보는 M2M 부트스트랩 서버를 통해 전달되는 정보로, M2M 클 라이언트가 M2M서버 또는 M2M부트스트랩 서버와 연결 /통신하기 위해 필요한 정 보를 의미한다. 부트스트램 정보는 부트스트랩 인터페이스를 통해 전달될 수 있으 며, 부트스트랩 시뭔스 이전에 이용가능하거나 상기 부트스트랩 시퀀스의 결과로 서 획득될 수 있다.
[250] 부트스트랩 정보는 M2M 서버 부트스트랩 정보 (M2M Server Bootstrap Information)와 M2M 부트스트랩 서버 부트스트랩 정보 (M2M Bootstrap Server Bootstrap Information)로 분류되며, 상기 M2M 서버 부트스트랩 정보는 M2M 서버 계정과 선택적으로 추가적인 객체 인스턴스들 (예컨데, 접근 제어 (access control) 객체 인스턴스, 네트워크 연결 정보 (connectivity) 객체 인스턴스을 포함하고, 상 기 M2M부트스트랩 서버 부트스트랩 정보는 M2M부트스트랩 서버 계정을 포함한다.
[251] M2M서버 계정은 M2M서버에 연결하기 위해 필요한 정보와 서버 관련 기능, 서버 관련 기능 정보가 저장될 수 있다. M2M부트스트랩 서버 계정은 M2M부트스 트랩 서버에 연결하기 위해 필요한 정보가 저장된다.
[252] M2M 클라이언트는 M2M 서버로부터의 보안 요건 (예컨대, 데이터 기밀성 (confidentiality), 데이터 무결성 (data integrity) , 소스 인증 (source authentication))이 만족된 부트스트랩 메시지 또는 부트스트랩 인터페이스를 통 해 제공되는 모든 정보를 전부 신뢰하고 받아들인다.
[253] 서버 정보
[254] M2M클라이언트와 M2M서버가 통신을 하려면 M2M서버와 통신하기 위한 기 본적인 정보들과 부가적인 정보들 (부트스트랩을 통해 전달되는 정보)이 M2M 부트 스트랩 서버를 통해 제공되어야 한다. 이러한 정보의 예로는 서버 ID, 서버 주소 (예컨대, IP, URI), 보안 자격 (security credential), 네트워크 베어러 정보 (network bearer information) , 선호되는 네트워크 베어러 정보 (preferred network bearer information), M2M서버가 생성가능한 리소스 (예컨대, 관리 객체, 객체) 등이 있다. 특정 M2M서버 (관련) 부트스트랩 정보는 상기 서버 정보를 의 미할 수 있다. [255] 접근 제어 정보 (Access Control Information)
[256] M2M 서버가 M2M 클라이언트의 특정 리소스에 접근하려면 해당 리소스에 대 한 접근 권한이 있어야 한다. 부트스트램을 통해서 이러한 접근 제어 관련된 정보 (즉, ACL(Access Control List) 또는 ACL 을 포함한 리소스)들 또한 변경 가능하 다. 해당 정보는 부트스트램을 통해 제공될 수도 있고 아닐 수도 있다.
[257] 서버 계정 삭제를 위한 접근 권한 설정 (Access Right Configuration for the Server Account Deletion)
[258] M2M 서버 계정이 삭제될 경우, 해당 M2M 클라이언트의 ACL 로부터 해당 M2M 서버의 접근 권한 또한 삭제되어야 한다. 이 때, 해당 M2M 서버가 특정 자원 (예컨대, 객체)의 유일한 접근 권한 소유자인 경우 앞서 설명한 것처럼 몇몇 문제 점이 존재한다. 따라서, 상기 M2M 클라이언트의 ACL 에 삭제될 M2M 서버 이외 타 M2M서버에 대한 접근 권한이 존재할 경우 다음과 같은 프로시저가 가능하다.
[259] A) 서버 계정 삭제의 차단
[260] M2M서버 계정이 삭제될 시 , 해당 삭제 요청이 되지 않도록 막을 수 있다. 이를 위해, 상기 삭제 요청을 수신한 M2M 클라이언트는 해당 M2M 서버가 유일한 접근 권한 소유자라는 메시지와 함께 에러 웅답을 보낼 수도 있다. 이럴 경우 삭 제를 요청한 M2M 서버 (즉, 부트스트랩 M2M 서버)는 접근 권한 소유자를 다른 M2M 서버로 변경 또는 해당 접근 권한 (ACL)을 삭제 후 다시 상기 M2M 서버의 계정 삭 제를 요청하여 상기 M2M 클라이언트는 해당 M2M서버 계정을 삭제할 수 있다.
[261] B) 접근 권한 소유자 변경 (Access Right Owner Change)
[262] M2M서버 계정이 삭제될 시, M2M 클라이언트는 자체적으로 접근 권한 소유 자를 변경할 수 있다. 변경하는 방법은,
[263] B-1)일반적으로 ACL 중 가장 높은 접근 권한을 갖는 M2M서버를 새로운 접 근 권한 소유자로 설정한다. "가장 높은" 접근 권한의 의미는 각종 접근 권한 중 해당 리소스 또는 그와 관련된 다른 리소스에 대한 영향을 미치는 범위가 가장 넓은 접근 권한을 의미하며, 예컨대 "읽기" 에 대한 접근 권한보다 "쓰기" 에 대한 접근 권한이 좀더 높은 접근 권한이다.
[264] 이 때, 각 동작 명령에 대한 접근 권한마다 특정 값을 부여하여 해당 값의 합 (sum)아가장 높은 M2M 서버를 새로운 접근 권한 소유자로 변경할 수 있다. 예 컨대, 예를 들어 M2M서버 1 은 쓰기, 읽기에 대한 접근 권한을 갖고, M2M서버 2 는 쓰기, 실행에 대한 접근 권한을 갖는 경우 M2M서버 1 이 새로운 접근 권한 소 유자가 된다 (명령마다부여된 값- 쓰기: 4, 읽기: 2, 실행: 1).
[265] 아울러, 상기 각 동작 명령에 대한 접근 권한에 부여되는 값은 일 예이며, 모든 동작 명령에 대한 접근 권한에 동일한 값 (예컨대, 1)을 부여할 수 있다. 이 는 곧 가장 많은 종류의 동작 명령에 대한 접근 권한을 갖는 M2M 서버가 새로운 접근 권한 소유자로 지정될 수 있음을 의미한다.
[266] B-2) 모든 M2M 서버를 접근 권한 소유자로 지정한다. 이 때, 해당 M2M 클 라이언트에 등록된 모든 M2M 서버에게 접근 권한 소유자를 부여할 수도 있으며, 또는 해당 리소스에 대해 접근 권한이 있는 M2M 서버에게만 접근 권한 소유자를 부여할 수 있다. 예를 들어, ACL 에 명시되지 않은 서버들을 위한 디폴트 (default) ACL 엔트라만 남아있을 경우 이러한 방법은 유용하다.
[267] B-3) 접근 권한 객체 인스턴스 내 첫 번째 M2M서버에게 접근 권한 소유자 를 부여한다.
[268] B-4) 접근 권한 소유자를 빈 채로 남겨두며, 해당 리소스에 처음 접근하는 M2M서버에게 접근 권한 소유자를 부여한다.
[269] C) 리소스 삭제 (Resource Deletion)
[270] 접근 권한 소유자인 M2M 서버의 계정이 삭제될 시, 상기 M2M 서버가 접근 권한 소유자로 지정되어 있는 리소스 (들) (예컨대, 특정 접근 제어 객체 인스턴스) 가 삭제될 수 있다. 즉, 리소스 (들)의 주인 역할을 하는 M2M 서버가 삭제됨으로, 해당 리소스까지 삭제를 하는 것이다. 이 때, 상기 리소스 (들)과 연계된 특정 리 소스와상기 특정 리소스의 접근 권한 값 또한 삭제한다.
[271] D) 새로운 접근 권한소유자의 지정
[272] 삭제되는 M2M 서버가 자신이 접근 권한 소유자인 리소스에 대해 권한 위임 을 부탁하는 명령을 전송할 수 있다. 즉, 서버 계정 삭제를 위한 동작 명령이 오 기 이전에 특정 M2M서버 (해당 접근 권한을 위임해 주고자 하는 M2M서버)가 설정 되어 있어, 삭제된 M2M 서버가 접근 권한 소유자였던 리소스들의 접근 권한 소유 자로써 상기 특정 M2M서버를 추가하는 것이다.
[273] 또는, 서버 계정 삭제를 위한 동작 명령 내에 해당 서버 계정의 삭제 이후 의 접근 권한 소유자 (즉 다른 M2M 서버의 ID 등)를 포함시켜, 상기 서버의 계정 이 삭제될 시 삭제된 서버가 접근 권한 소유자인 리소스 (들)에 대해 상기 삭제를 위한 동작 명령 안에 포함되어 있는 서버가 새로운 접근 권한 소유자가 되도록 지 정될 수 있다.
[274] 리소스 삭제 (Resource Deletion)
[275] 특정 M2M 서버의 계정이 삭제될 시 ᅳ 상기 특정 M2M 서버를 ACL 로부터 삭 제하게 되는데, 특정 리소스 (예컨대, 객체)에 대해 상기 삭제될 M2M 서버가 접근 권한 소유자이며, ACL에 존재하는 유일한서버일 경우에는 ACL이 포함된 접근 제 어 객체 인스턴스는 물론 해당 접근 제어 객체 인스턴스와 연계된 특정 객체 인 스턴스 또한 삭제될 수 있다.
[276] 특정 M2M서버의 계정이 삭제되면, 클라이언트는 상기 특정 M2M서버가 이 전에 특정 이벤트에 대한 보고를 위해 설정된 값올 해지할 수 있다.
[277] 또한, 위에 설명한 접근 권한 설정, 리소스 삭제, 보고 해지 등과 같은 작 업은 서버에게 알릴 수 있다.
[278] 관찰을 위한 접근 제어 (Access Control for Observation)
[279] M2M서버는 M2M 클라이언트에 특정 리소스 또는 리소스 그룹 (예컨대, 객체 인스턴스)의 변화에 대해 보고를 받기 원할 수 있다. 이러한 보고를 위해 앞서 설 명한 "관찰" 기능을 통해 해당 리소스 또는 리소스 그룹의 변화를 확인할 수 있 다. 그러나, 상기 "관찰" 기능을 등록함에 있어 아무런 제약이 없기에 해당 리 소스에 대해 읽은 ( "읽기" 동작 명령에 의한) 것과 동일한 효과를 낼 수 있기 때 문에, 상기 "읽기" 동작 명령에 대한 접근 권한이 없는 M2M서버가 해당 리소스 의 값을 읽을 수 있다.
[280] 이러한 점을 방지하기 위해 관찰 기능을 등록 시, 그에 따른 보고 시 접근 제어 기법을 소개한다.
[281] 이러한 기법은 다른 동작 명령에도 적용이 가능한데, 즉 동일한 효과 (또는 결과)를 내는 동작 명령들의 경우, 두 동작 명령에 대한 접근 권한을 따로 두지 않고, 하나의 접근 권한을 통해 접근 제어를 수행할 수 있다. 다음은 그에 대한 일 예를 나타낸다.
[282] 【표 24】
Access control mechanism'에 ^§ -하는
Operations/Command
access, right ,
Figure imgf000050_0001
[283] - 관찰 등록 (Observation Registration)
[284] 도 6는 본 발명의 일 실시예에 따른 관찰 등록의 순서도를 도시한다.
[285] 서버 (100)는 클라이언트 (200)로 특정 리소스에 대한 관찰 등톡을 요청할 수 있다 (S610). 이에, 상기 클라이언트는 해당 리소스에 대해 M2M서버가 해당 리 소스를 읽을 수 있는 권한 (예컨대, "읽기" 동작 명령에 대한 접근 권한)이 있는 지 확인할 수 있다 (S620). 상기 권한이 있다면, 상기 클라이언트는 해당 서버 ID 와 해당 리소스를 저장하고 (S630-1), 상기 관찰 등록이 성공적으로 처리되었음을 상기 서버로 웅답할 수 있다 (S640). 그 후, 해당 리소스가 변경될 경우 보고 프로 세스로 넘어간다.
[286] 그러나, 상기 권한이 없다면 등록은 이루어지지 않으며, 상기 클라이언트 는 상기 관찰 등록이 실패되었음을 상기 서버로 웅답할 수 있다 (S630-2).
[287] 인증을 수행하는 범위를 벗어나는 리소스들에 대해서도 관찰올 수행할 수 있는데, 예컨대 M2M서버의 관찰 동작 명령이 객체 ID 만을 타깃하는 경우에, 상 기 객체 ID 가 지시하는 객체와 연관된 객체 인스턴스가 복수 개 존재하고 상기 M2M서버는 적어도 하나의 객체 인스턴스에 대한 "읽기" 권한이 없을 수 있다. 이때는 두 가지의 방법이 존재한다.
[288] 1. 관찰 등록 시에는 인증을 수행하지 않고 무조건 수락하도록 설정될 수 있다. 이 경우, 객체 인스턴스들 중에서 인증 (해당 M2M서버가 읽기 권한이 있는 지)이 성공된 객체 인스턴스들에 대해서만 보고가 수행될 수 있다. 또는, 인증이 성공된 객체 인스턴스들을 개별적으로 취급하여 각각의 인증이 성공된 객체 인스 턴스들 중 하나의 객체 인스턴스에 변경이 발생 시 해당 M2M서버가 변경이 발생 한 객체 인스턴스에 대해 인증이 성공시 (즉, 해당 서버가 해당 객체 인스턴스에 대해 "읽기" 권한이 존재할 시) 하나의 객체 인스턴스 (즉, 개별 객체 인스턴스) 에 대한 보고를 수행할 수 있다.
[289] 2. 관찰 둥록 시에 모든 객체 인스턴스마다 인증을 수행하고, 인증이 성공 된 객체 인스턴스들에 대해서만 관찰을 수행할 수 있다. 이 경우 관찰 보고시에는 등록 시에 인증이 성공된 객체 인스턴스들 전체에 대해 인증 (해당 M2M서버가 읽 기 동작 명령에 대한 접근 권한이 있는지 여부로 판단)이 성공해야만이 보고될 수 있으며, 또는 등록 시에 인증이 성공된 객체 인스턴스들 중에서 보고 시에 인증
(해당 M2M 서버가 읽기 동작 명령에 대한 접근 권한이 있는지 여부로 판단)이 성 공된 객체 인스턴스들만에 대해서 보고가 수행될 수 있다. 또는, 등록 시에 인증 이 성공된 객체 인스턴스들을 개별적으로 취급하여 각각의 성공된 객체 인스턴스 에 변경이 발생 시 해당 M2M서버가 변경이 발생한 객체 인스턴스에 대해 인증 (해 당 M2M 서버가 읽기 동작 명령에 대한 접근 권한이 있는지 여부로 판단) 성공시 보고가 수행될 수 있다.
[290] - 관찰 등록 보고 (Observation Reporting)
[291] 도 7은 본 발명의 일 실시예에 따른 관찰 보고의 순서도를 도시한다.
[292] 관찰 기능에 대한 등록을 할 시점과 보고를 할 시점 사이에 M2M서버의 접 근 권한의 변경이 있을 수 있다. 따라서, 상기 관찰 기능에 대한 보고를 할 시점 에도 (즉, 관찰 보고에 대상의 리소스에 대한 변경 발생시에) M2M 클라이언트는 M2M 서버가 해당 리소스에 "읽기" 접근 권한을 갖고 있는지 여부를 확인할 수 있다 (S720). 상기 "읽기" 접근 권한을 갖고 있다면, 상기 M2M 클라이언트는 해 당 리소스에 대한 보고 (통지)를 수행할 수 있다 (S730-1). 상기 "읽기" 접근 권 한이 없으면, 상기 M2M 클라이언트는 자체적으로 관찰 취소하고 (아울러, 해당 관 찰 기능 설정을 삭제할 수 있음) 이를 M2M서버에게 알릴 수 있다 (S73()-2).
[293] 한편, 상기 관찰에 대한 보고는 앞서 설명한 정보 보고 인터페이스를 통한 통지 (Notify) 동작 명령에 수행될 수 있으며, 이에 대해 예를 들어 좀더 자세히 설명하도록 한다.
[294] 도 8 은 본 발명의 일 실시예에 따른 관찰 및 그에 따른 통지에 관한 순서 도를 도시한다.
[295] M2M 서버는 M2M 클라이언트 내에서 비주기적으로 갱신되는 온도에 대하여 관찰을 요청한다.
[296] 좀더 상세히는, 상기 M2M 서버는 상기 온도와 관련된 리소스에 대하여 최 소 주기 = 10 초 그리고 최대 주기 =60 초가 설정된 관찰을 요청할 수 있다. 이는 앞서 설명한 것처럼, "장치 관리 및 서비스 인에이블먼트 인터페이스" 를 통한 "쓰기 속성" 동작 명령과 "정보 보고 인터페이스" 를 통한 "관찰" 동작 명령 을 통해 수행될 수 있다. 구체적으로, 상기 "통지" 의 구체적인 설정 값을 위한 파라미터 설정 (즉, 최소 주기 및 최대 주기)은 "쓰기 속성" 동작 명령을 통해 수행되며 (S810), 이에 대한 웅답으로, M2M 클라이언트는 상기 "쓰기 속성" 동작 명령에 대한 결과 (예컨대, 성공)을 웅답할 수 있다 (S820).
[297] 그리고나서, 상기 M2M 서버는 상기 M2M 클라이언트로 상기 온도와 관련된 리소스에 대한 관찰을 요청할 수 있다 (S830). 이에 대한 응답으로, M2M 클라이언 트는 상기 "관찰" 동작 명령에 대한 결과 (예컨대, 성공)을 응답할 수 있다 (S840) .
[298] 상기 M2M 클라이언트는 상기 M2M서버로 "통지" 를 전송하기 전에, 그 전 에 상기 리소스의 값이 변경되었더라도 적어도 10초를 기다릴 것이고, 10초 경과 후 상기 M2M서버로 상기 리소스에 대한 값을 통지할 수 있다 (S850).
[299] 또한, 상기 통지가 있고 나서 40 초 이후에 상기 리소스의 값이 변경되면, 상기 M2M클라이언트는 상기 M2M서버로 상기 리소스에 대한 값을 통지할 수 있다 (S860) .
[300] 또한, 그 이후 상기 리소스의 값이 변경되지 않았더라도 60 초가 경과하기 전에, 상기 M2M클라이언트는상기 "통지" 를 전송해야한다 (S870).
[301] 즉, 상기 통지에 대한 설정 (즉, 최소 주기 및 최대 주기)에 따라, 상기 통 지가 이루어지는 시점이 제한되며, 좀더 상세히는 상기 최소 주기 이후에 그리고 상기 최대 주기 이전에 1회는 반드시 통지가 있게 된다.
[302] 상기 설정에 따라, 상기 "통지" 는 상기 리소스에 변경이 발생하면 10 내 지 60초 내에 임의의 시점에서 전송될 수 있다.
[303] 아울러, 상기 관찰에 대한 취소가 가능하다. 이는 앞서 설명한 "관찰 취 소" 동작 명령에 의해 가능하다.
[304] "관찰 취소" 동작 명령은 M2M 서버로부터 M2M 클라이언트로 객체 인스턴 스 또는 리소스에 대한 관찰 관계를 종료하기 위해 전송된다. 상기 동작 명령은 M2M 레이어에서 어떠한 파라미터를 포함하지 않는다. 상기 "관찰 취소" 동작 명 령은 "통지" 동작 명령의 웅답으로 사용되어야 한다.
[305] 이는 관찰 취소를 위해 M2M서버를 위한 두 가지 방법을 가능하게 한다.
[306] - "관찰 취소" 동작 명령 전송 [307] 이 옵션의 제한은 만약 M2M 서버가 상기 M2M 서버가 더 이상 관심이 없는 "통지" 동작을 수신하면, 상기 M2M서버는 상기 "통지" 동작에 응답으로 "관 찰 취소" 를 전송할 수 있다.
[308] - 취소 파라미터를 포함한 "쓰기 속성" 동작 명령 전송
[309] 이 옵션은 제한이 없다. 만약 M2M서버가 M2M 클라이언트 내 특정 URI 로 취소 파라미터를 포함한 "쓰기 속성" 동작 명령을 전송하면, 상기 M2M클라이언 트는 특정된 URI를 위한 관찰을 스스로 취소할 수 있다.
[310] 접속 모드 (Connect ion Mode) 설정
[311] M2M 서버는 접속 모드를 설정할 수 있다. 이러한 설정은 디바이스의 슬림 (Sleep)을 길게 가져가 배터리의 전력 소모를 줄이고자 하는 의도를 포함하며, 설 정에 따라 더 안정적인 통신을 유지하고자 할 때 사용 가능하다.
[312] - 상시 온라인 (Always Online)
[313] M2M 서버는 설정을 통해 M2M 클라이언트의 상태를 지속적으로 온라인으로 유지할 수 있다. 이러한 상태는 M2M서버가 언제든지 필요 시 명령 (관리 또는 동 작 명령)을 M2M클라이언트에게 가능하게 한다.
[314] - 이벤트 기반온라인 (Event Driven Online)
[315] M2M 서버는 설정을 통해 M2M 클라이언트가 이벤트를 통해 온라인 상태가 되게 할 수 있다. 이러한 경우 이벤트 발생 시 M2M클라이언트는 자신이 온라인임 을 알리는 메시지를 전송하고, 특정 시간 동안 M2M 서버의 명령 (관리 또는 동작 명령)을 기다리거나 또는 명령을 기다리는 동안 M2M서버에서 특정 명령을 지속적 으로 전송할 경우, 마지막 명령을 기점으로 특정 시간을 기다릴 수 있다.
[316] - 주기적 온라인 (Periodic Online)
[317] M2M서버는 설정을 통해 M2M클라이언트가 주기적으로 온라인 상태를 유지 하도록 할 수 있다. M2M서버에 의해 또는 미리 설정된 주기가 설정되어 있고, 해 당 주기가 되었을 시 M2M 클라이언트는 M2M서버에 자신이 온라인 상태임을 알리 는 메시지를 전송하여 흑정 시간 동안 M2M 서버의 명령 (관리 또는 동작 명령)을 기다리거나 또는 명령을 기다리는 동안 상기 M2M서버에서 특정 명령을 지속적으 로 전송할 경우, 마지막 명령을 기점으로 특정 시간을 기다릴 수 있다. 해당 주기 는 M2M 클라이언트에 발생되는 이벤트와는 별개로 발생되며, 해당 주기가 되었을 시 오프라인일 때 모아둔 보고 정보들을 M2M서버에 전송할 수 있다. [318] 또는, M2M서버는 M2M클라이언트가 온라인이 되는 시점을 결정할 수 있다. 예를 들어, 매일 오후 3시 5분이라고 설정되어 있다면, 해당 시간에 M2M클라이 언트는 갱신 메시지를 전송하여, M2M서버가 특정 동작 명령을 수행할 수 있도록 한다. 해당 설정에는 타임아웃 (Timeout) 이 존재할 수 있는데, 상기 타임아옷이 존재할 경우, 해당 시간까지 M2M 클라이언트는 M2M서버와 온라인 상태를 유지한 다.
[319] - 모드 변경 고려 (Mode Change Considerations)
[320] 이벤트 기반 온라인 또는 주기적 온라인의 경우, M2M서버는 M2M클라이언 트와의 안정적인 통신이 불가능하다. 지속적인 통신이 필요한 경우 (예컨대, 펌웨 어 업데이트 등), M2M 서버는 해당 M2M 클라이언트가 임시적으로 은라인 상태일 시 상시 은라인 모드로의 변경 명령을 전송하고, 지속적 통신이 종료될 경우 다시 모드 변경을 통해 기존의 모드로 변경 또는 다른 모드로 변경하도록 할 수 있다. 또는, 상시 온라인 모드가 지속되게끔 할 수도 있다.
[321] - 이벤트 레벨 고려 (Event Level Considerations)
[322] 이벤트에는 레벨이 존재할 수 있는데, 레벨은 크게 슬립 모드 (또는 연결 해제 상태)에서 온라인 모드로 변경이 필요한지 여부에 따라 2 개로 나눌 수 있다.
[323] 온라인 모드로 변경이 필요한 정도의 이벤트일 경우에는 해당 시점에 바로 M2M클라이언트는 온라인 상태.가 되어 보고를 수행하며, 온라인 모드로 변경이 필 요한 정도의 이벤트가 아닐 경우, 타 이유로 인해 온라인 상태가 되는 시점에 해 당 이벤트를 보고할 수 있다.
[324] 도 9는 본 발명의 일 실시예에 따른 동작의 순서도를 도시한다.
[325] 단말은 제 1서버로부터 특정 서버의 계정을 삭제하기 위한 동작 명령 (예컨 대, "삭제" 동작 명령)올 수신할 수 있다 (S910). 본 발명에서 서버의 계정 (또는 서버 계정)은 객체 인스턴스의 이름들에 제한되지 않으며, 특정 서버에 관한 정보 의 집합을 의미한다. 좀더 구체적으로, 상기 서버의 계정 (또는 서버 계정 )은 위에 서 설명한 서버 객체 (인스턴스) 및 보안 객체 (인스턴스)를 포함하는 포괄적인 개념이며, 추가적으로 상기 보안 객체 (인스턴스)에서 "부트스트랩 서버" 리소 스가 false인 것을 의미한다.
[326] 상기 삭제하기 위한 동작 명령은 부트스트램 인터페이스를 통해 수신될 수 있으며, 또한 이에 따라상기 제 1서버는 부트스트랩 서버일 수 있다. [327] 상기 단말은 상기 특정 서버와 연관된 객체 인스턴스 중에 상기 특정 서버 만이 접근할 수 있는 객체 인스턴스가 있는지 여부를 판단할 수 있다 (S920).
[328] 상기 특정 서버와 연관된 객체 인스턴스 중에 상기 특정 서버만이 접근할 수 있는 객체 인스턴스 (들)가 있으면, 상기 단말은 그 객체 인스턴스 (들)와 그와 연관된 접근 객체 인스턴스 (들)를 삭제할 수 있다 (S930). 즉, 상기 단말은 상기 특정 서버의 접근 권한 정보를 삭제할 수 있다. 이는 해당 객체 인스턴스가 다른 서버와 어떠한 연관도 없으므로, 해당 객체 인스턴스 및 그와 연관된 접근 객체 인스턴스는 상기 특정 서버의 계정이 삭제되면 어떠한 서버에 의해서도 접근이 가 능하지 않으므로 삭제하는 것이 리소스 활용 및 관리 관점에서 바람직하기 때문이 다.
[329] 한편, 상기 특정 서버와 연관된 객체 인스턴스 중에 상기 특정 서버를 포 함한 복수의 서버들이 접근할 수 있는 객체 인스턴스 (들)가 있으면, 상기 단말은 그 객체 인스턴스 (들)와 연관된 접근 객체 인스턴스 (들) 내에서 상기 특정 서버와 관련된 리소스, 예컨대 앞서 설명한 접근 제어 객체 인스턴스의 ACL 엔트리를 삭 제할 수 있다 (S931). 이는 S930 과 달리, 다른 서버가상기 객체 인스턴스에 접근 할 수 있으므로 상기 특정 서버와 관련된 리소스만을 삭제함이 바람직하기 때문이 다.
[330] 아을레 상기 단말은 상기 특정 서버가 상기 접근 제어 객체 인스턴스의 접근 제어 소유자인지 여부를 판단할 수 있다 (S932).
[331] 상기 특정 서버가 상기 접근 제어 객체 인스턴스의 접근 제어 소유자이면, 상기 단말은 다음과 같은 방식을 사용하여 상기 접근 제어 객체 인스턴스를 위한 새로운 접근 제어 소유자를 설정할 수 있다 (S933). 이는 해당 접근 제어 객체 인 스턴스에 대한 관리자 (즉, 접근 제어 소유자)의 부재로 인한 리소스 관리의 불편 함 그리고 해당 리소스의 활용 제약을 해소 /방지하기 위함이다.
[332] 상기 접근 제어 객체 인스턴스에서 지정된 (또는 허용된) 각각의 접근 권한 별로 특정 값이 부여된다. 예컨대, "쓰기" 동작 명령에 대한 접근 권한에는 "1" 이, "읽기" 동작 명령에 대한 접근 권한에는 "2" 가 부여될 수 있다. 상 기 단말은 각서버에 대한상기 값들의 합을 계산하고, 합이 가장 큰 서버를 새로 운 접근 제어 소유자로 설정할 수 있다. 만약, 합이 동일한 서버가 둘 이상이면, 상기 단말은 그 중 하나를 선택하여 새로운 접근 제어 소유자로 설정할 수 있다. [333] 상기 특정 서버가 상기 접근 제어 객체 인스턴스의 접근 제어 소유자가 아 니면, S933은 수행되지 않는다.
[334] 그리고나서, 단말은 자신이 가지고 있는 모든 객체 인스턴스에 대해 상기 특정 서버가 접근 권한을 갖고 있는지 여부를 확인할 수 있다 (S940). 즉, 어떤 동 작 명령 (들)에 대해 접근 권한이 있는지를 확인할 수 있다. 만약 상기 특정 서버 가 어떤 동작 명령 (들)에 대한 접근 권한이 있는 객체 인스턴스가 존재한다면, 상 기 단말은 S920으로 돌아가 본 발명의 동작을 반복할 수 있다. 즉, 상기 특정 서 버가 접근 권한을 갖고 있는 동작 명령들이 명시된 리소스가 존재하지 않을 때까 지 본 발명의 동작이 수행될 수 있다.
[335] 상기 특정 서버가 접근 권한을 가지고 있는 동작 명령이 하나도 존재하지 않은 것으로 판단되면, 상기 단말은 상기 특정 서버에 의해 설정된 관찰 동작 설 정을 취소할 수 있다 (S950). 즉, 상기 단말은 상기 특정 서버가 전송한 관찰 동 작 명령을 통해 저장한 설정 정보를 삭제할 수 있다.
[336] 그리고나서, 상기 단말은 상기 특정 서버의 계정을 완전히 삭제할 수 있고 (S960), 즉 상기 특정 서버의 계정 삭제의 요청은 S910 에서 수신되었지만, 실질 적으로 본 단계에서 상기 특정 서버의 계정이 삭제된다. 이는 상기 삭제 명령을 먼저 처리하게 되면 서버 계정 내의 짧은 서버 ID 등의 정보가 삭제되어 접근 제 어 객체 인스턴스에서 상기 서버의 짧은 서버 ID 에 기반하여 ACL 엔트리를 삭제 해야 하는데 이미 삭제되어 찾을 수 없기 때문에 마지막에 삭제하는 것이다. 또한, 상기 단말은 상기 특정 서버에 대한 "등록 해제 (De-register)" 동작명령을 전송 할 수 있다 (S970).
[337] 도 9 와 관련하여 설명한 실시예는 앞서 도 1 내지 도 8 을 참조하여 설명 한 내용을 참조할 수 있으며, 이에 따라 당업자는 도 1 내지 도 8과 관련된 설명 (특히 , 표들에 기반한)을 참조하여 도 9 와 관련된 실시예를 더 구체적으로 한정 할 수도 있을 것이다.
[338] 또한, 상기 단말은 도 9 에 도시된 단계 중 일부만을 선택하여 수행할 수 있다.
[339] 도 10 은 본 발명의 실시예 (들)을 수행하도록 구성된 장치의 블록도를 도 시한다. 전송장치 (10) 및 수신장치 (20)는 정보 및 /또는 데이터, 신호, 메시지 등 을 나르는 무선 신호를 전송 또는 수신할 수 있는 RF(Radio Frequency) 유닛 (13, 23)과, 무선통신 시스템 내 통신과 관련된 각종 정보를 저장하는 메모리 (12, 22), 상기 F 유닛 (13, 23) 및 메모리 (12, 22)등의 구성요소와 동작적으로 연결되고ᅳ 상기 구성요소를 제어하여 해당 장치가 전술한 본 발명의 실시예들 중 적어도 하 나를 수행하도록 메모리 (12, 22) 및 /또는 RF 유닛 (13,23)을 제어하도록 구성된 프 로세서 (11, 21)를 각각 포함한다.
[340] 메모리 (12, 22)는 프로세서 (11, 21)의 처리 및 제어를 위한 프로그램을 저 장할 수 있고, 입 /출력되는 정보를 임시 저장할 수 있다. 메모리 (12, 22)가 버퍼 로서 활용될 수 있다.
[341] 프로세서 (11, 21)는 통상적으로 전송장치 또는 수신장치 내 각종 모들의 전반적인 동작을 제어한다. 특히, 프로세서 (11, 21)는 본 발명을 수행하기 위한 각종 제어 기능을 수행할 수 있다. 프로세서 (11, 21)는 컨트롤러 (controller), 마 이크로 컨트를러 (microcontrol ler) ' 마이크로 프로세서 (microprocessor), 마이크 로 컴퓨터 (microcomputer) 등으로도 불릴 수 있다. 프로세서 (11, 21)는 하드웨어 (hardware) 또는 펌웨어 (firmware), 소프트웨어, 또는 이들의 결합에 의해 구현될 수 있다. 하드웨어를 이용하여 본 발명을 구현하는 경우에는, 본 발명을 수행하도 록 구성된 ASICsCappl ication specific integrated circuits) 또는 DSPsCdigital signal processors) , DSPDs(digital signal processing devices) , PLDs (programmable logic devices) , FPGAs( field programmable gate arrays) 등이 프로세서 (11, 21)에 구비될 수 있다. 한편, 펌웨어나 소프트웨어를 이용하여 본 발명을 구현하는 경우에는 본 발명의 기능 또는 동작들을 수행하는 모들, 절차 또 는 함수 등을 포함하도록 핍웨어나 소프트웨어가 구성될 수 있으며, 본 발명을 수 행할 수 있도록 구성된 펌웨어 또는 소프트웨어는 프로세서 (11, 21) 내에 구비되 거나 메모리 (12, 22)에 저장되어 프로세서 (11, 21)에 의해 구동될 수 있다.
[342] 본 발명의 실시예들에 있어서, M2M 서버 또는 M2M 클라이언트, 또는 서버 또는 단말 등은 각각 그들이 설치되어 있거나 탑재되어 있는 장치들, 즉 전송장치 (10) 또는 수신장치 (20)로 동작할 수 있다.
[343] 이와 같은, 수신장치 또는 전송장치로 M2M서버, M2M 클라이언트, 서버 또 는 단말 등의 구체적인 구성은, 도면곽 관련하여 전술한 본 발명의 다양한 실시예 에서 설명한사항들이 독립적으로 적용되거나 또는 둘 이상의 실시예가 동시에 적 용되도록 구현될 수 있다. [344] 상술한 바와 같이 개시된 본 발명의 바람직한 실시예들에 대한 상세한 설 명은 당업자가 본 발명을 구현하고 실시할 수 있도록 제공되었다. 상기에서는 본 발명의 바람직한실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당 업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어 나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라세 본 발명은 여기에 나타난 실시형태들에 제한되려는 것이 아니라, 여기서 개시된 원리들 및 신규한 특징들과 일치하는 최광의 범위를 부여 하려는 것이다. 【산업상 이용가능성】
[345] 본 발명은 무선 이동 통신 시스템의 단말기, 기지국 서버 또는 기타 다 른 장비에 사용될 수 있다.

Claims

【청구의 범위】
【청구항 1】
무선 통신 시스템에서 서버 계정 삭제에 따른 상기 서버와 연관된 특정 객체 인스턴스의 처리 방법에 있어서, 상기 방법은 상기 단말에 의해 수행되며, 제 1서버로부터 특정 서버의 계정을 삭제하기 위한 등작 명령을 수신하는 단계; 및
상기 특정 객체 인스턴스가 상기 특정 서버만이 접근할 수 있는 객체 인스턴스이면, 상기 특정 객체 인스턴스 및 그와 연관된 접근 제어 객체 인스턴스를 삭제하는 단계를 포함하고,
상기 특정 객체 인스턴스가 상기 특정 서버를 포함한 복수의 서버들 이 접근할 수 있는 객체 인스턴스이면, 상기 특정 객체 인스턴스와 연관된 접근 제어 객체 인스턴스 내에서 상기 특정 서버의 접근 권한 정보를 삭제 하는 단계; 및
상기 특정 서버가 상기 접근 제어 객체 인스턴스의 유일한 접근 제어 '소유자이면, 상기 특정 서버를 제외한 상기 복수의 서버들 중 각각이 갖는 접근 권한에 부여된 값의 합이 가장 큰 서버를 상기 접근 제어 소유자로 변경하는 단계를 포함하는 것을 특징으로 하는, 특정 객체 인스턴스의 처 리 방법 .
【청구항 2]
제 1항에 있어서, 상기 변경하는 단계는:
상기 값의 합이 가장 큰 서버가 둘 이상이면, 상기 둘 이상의 서버 중 하 나를 선택하고, 상기 선택된 서버를 상기 접근 제어 소유자로 변경하는 단계를 포함하는 것을 특징으로 하는, 특정 객체 인스턴스의 처리 방법 .
【청구항 3】
제 1 항에 있어서, 상기 특정 서버의 계정을 삭제하기 위한 동작 명령은 부트스트랩 인터페이스를 통해 수신되는 것을 특징으로 하는, 특정 객체 인스 턴스의 처리 방법 .
【청구항 4】
제 1 항에 있어서, 상기 제 1 서버는 부트스트랩 서버인 것을 특징으로 하 는, 특정 객체 인스턴스의 처리 방법.
【청구항 5】
제 1항에 있어서, 제 2서버에 의한 상기 접근 제어 객체 인스턴스의 접근 제어 소유자에 대하여 관찰 동작이 설정되어 있으면,
상기 접근 제어 소유자가 변경 시에 상기 제 2 서버로 상기 변경에 대한 통지를 전송하는 단계를 더 포함하는 것올 특징으로 하는, 특정 객체 인스턴스 의 처리 방법.
【청구항 6]
제 1 항에 있어서, 상기 특정 서버가 전송한 관찰 동작 명령을 통해 저장 한 관찰 동작 명령 관련 설정 정보를 삭제하는 단계를 더 포함하는 것을 특징 으로 하는, 특정 객체 인스턴스의 처리 방법.
【청구항 7】
제 1 항에 있어서, 상기 특정 서버의 계정은 상기 특정 서버의 짧은 서버 ID 및 상기 특정 서버와의 통신을 위한 보안 키를 포함하는 것을 특징으로 하 는 특정 객체 인스턴스의 처리 방법 .
【청구항 8】
무선 통신 시스템에서 서버 계정 삭제에 따른 상기 서버와 연관된 특정 객체 인스턴스의 처리하도록 구성된 단말로서,
무선 주파수 (radio frequency; RF) 유닛; 및
상기 RF유닛을 제어하도록 구성된 프로세서를 포함하되,
상기 프로세서는 제 1서버로부터 특정 서버의 계정을 삭제하기 위한 동작 명령을 수신하고,
상기 특정 객체 인스턴스가 상기 특정 서버만이 접근할 수 있는 객체 인스턴스이면, 상기 특정 객체 인스턴스 및 그와 연관된 접근 제어 객체 인스턴스를 삭제하며,
상기 특정 객체 인스턴스가 상기 특정 서버를 포함한 복수의 서버들 이 접근할 수 있는 객체 인스턴스이면, 상기 특정 객체 인스턴스와 연관된 접근 제어 객체 인스턴스 내에서 상기 특정 서버의 접근 권한 정보를 삭제 하며,
상기 특정 서버가 상기 접근 제어 객체 인스턴스의 유일한 접근 제어 소유자이면, 상기 특정 서버를 제외한 상기 복수의 서버들 중 각각이 갖는 접근 권한에 부여된 값의 합이 가장 큰 서버를 상기 접근 제어 소유자로 변경하도록 구성되는 것을 특징으로 하는, 단말.
【청구항 9】
제 8항에 있어세 상기 프로세서는:
상기 값의 합이 가장 큰 서버가 둘 이상이면, 상기 둘 이상의 서버 중 하 나를 선택하고, 상기 선택된 서버를 상기 접근 제어 소유자로 변경하도록 구성 되는 것을 특징으로 하는, 단말.
【청구항 10】
제 8 항에 있어서, 상기 특정 서버의 계정을 삭제하기 위한 동작 명령은 부트스트랩 인터페이스를 통해 수신되는 것을 특징으로 하는, 단말.
【청구항 11】
제 8항에 있어서, 상기 제 1서버는 부트스트랩 서버인 것을 특징으로 하 는, 단말.
【청구항 12】
제 8항에 있어서 , 제 2서버에 의한 상기 접근 제어 객체 인스턴스의 접근 제어 소유자에 대하여 관찰 동작이 설정되어 있으면,
상기 프로세서는 상기 접근 제어 소유자의 변경 시에 상기 제 2서버로 상 기 변경에 대한 통지를 전송하도록 구성되는 것을 특징으로 하는, 단말.
[청구항 13】
제 8 항에 있어서, 상기 프로세서는 상기 특정 서버가 전송한 관찰 동작 명령을 통해 저장한 관찰 동작 명령 관련 설정 정보를 삭제하도록 구성되는 것 을 특징으로 하는, 단말.
【청구항 14]
제 8 항에 있어서, 상기 특정 서버의 계정은 상기 특정 서버의 짧은 서버 ID 및 상기 특정 서버와의 통신을 위한 보안 키를 포함하는 것을 특징으로 하 는, 단말.
PCT/KR2014/000425 2013-01-18 2014-01-15 무선 통신 시스템에서 접근 제어를 위한 방법 및 장치 WO2014112781A1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP14740172.3A EP2950497B1 (en) 2013-01-18 2014-01-15 Method and apparatus for controlling access in wireless communication system
US14/760,105 US9900727B2 (en) 2013-01-18 2014-01-15 Method and apparatus for controlling access in wireless communication system
CN201480005392.9A CN104937895B (zh) 2013-01-18 2014-01-15 在无线通信系统中控制访问的方法和设备
JP2015551628A JP6055111B2 (ja) 2013-01-18 2014-01-15 無線通信システムにおいて接近制御のための方法及び装置
KR1020157015601A KR102145741B1 (ko) 2013-01-18 2014-01-15 무선 통신 시스템에서 접근 제어를 위한 방법 및 장치

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US201361753932P 2013-01-18 2013-01-18
US61/753,932 2013-01-18
US201361786625P 2013-03-15 2013-03-15
US61/786,625 2013-03-15
US201361818918P 2013-05-03 2013-05-03
US61/818,918 2013-05-03
US201361823411P 2013-05-15 2013-05-15
US61/823,411 2013-05-15
US201361827730P 2013-05-27 2013-05-27
US61/827,730 2013-05-27

Publications (1)

Publication Number Publication Date
WO2014112781A1 true WO2014112781A1 (ko) 2014-07-24

Family

ID=51209827

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/000425 WO2014112781A1 (ko) 2013-01-18 2014-01-15 무선 통신 시스템에서 접근 제어를 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US9900727B2 (ko)
EP (1) EP2950497B1 (ko)
JP (1) JP6055111B2 (ko)
KR (1) KR102145741B1 (ko)
CN (1) CN104937895B (ko)
WO (1) WO2014112781A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150031225A (ko) * 2012-06-22 2015-03-23 엘지전자 주식회사 무선 통신 시스템에서 서버를 활성화 또는 비활성화하기 위한 방법 및 장치
EP3557894B1 (en) 2013-05-06 2023-12-27 Convida Wireless, LLC Device triggering
WO2015003063A1 (en) * 2013-07-02 2015-01-08 Convida Wireless, Llc Mechanisms for semantics publishing and discovery
GB2586549B (en) * 2013-09-13 2021-05-26 Vodafone Ip Licensing Ltd Communicating with a machine to machine device
WO2015110494A1 (en) * 2014-01-23 2015-07-30 Koninklijke Kpn N.V. Crash recovery for smart objects
US10652936B2 (en) * 2014-03-21 2020-05-12 Nokia Technologies Oy Short identifiers for device-to-device (D2D) broadcast communications
WO2015187068A1 (en) * 2014-06-02 2015-12-10 Telefonaktiebolaget L M Ericsson (Publ) Merging proxy
US10085211B2 (en) * 2014-09-02 2018-09-25 Apple Inc. Communication of processor state information
GB2529838B (en) 2014-09-03 2021-06-30 Advanced Risc Mach Ltd Bootstrap Mechanism For Endpoint Devices
KR102410291B1 (ko) 2014-11-14 2022-06-17 콘비다 와이어리스, 엘엘씨 허가 기반 리소스 및 서비스 발견
GB2540989B (en) 2015-08-03 2018-05-30 Advanced Risc Mach Ltd Server initiated remote device registration
GB2540987B (en) 2015-08-03 2020-05-13 Advanced Risc Mach Ltd Bootstrapping without transferring private key
CN110392012B (zh) * 2018-04-17 2021-09-14 华为技术有限公司 轻量级机器到机器系统中重新引导的方法和装置
JP6724951B2 (ja) * 2018-07-24 2020-07-15 横河電機株式会社 装置、方法、プログラムおよび記録媒体
JP6724950B2 (ja) * 2018-07-24 2020-07-15 横河電機株式会社 装置、方法、プログラムおよび記録媒体
GB2579571B (en) 2018-12-03 2021-05-12 Advanced Risc Mach Ltd Device bootstrapping
GB2580973B (en) * 2019-02-01 2021-12-22 Advanced Risc Mach Ltd Message exchange between client and server
GB2582735B (en) 2019-02-01 2022-11-30 Arm Ip Ltd Template-based registration
US11475134B2 (en) 2019-04-10 2022-10-18 Arm Limited Bootstrapping a device
KR20210141188A (ko) * 2020-05-15 2021-11-23 삼성에스디에스 주식회사 분산형 키 관리 시스템 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060184530A1 (en) * 2005-02-11 2006-08-17 Samsung Electronics Co., Ltd. System and method for user access control to content in a network
KR20110031234A (ko) * 2008-07-14 2011-03-24 노키아 지멘스 네트웍스 오와이 가입자 데이터베이스에 대한 방법 및 장치
US20110196966A1 (en) * 2008-10-14 2011-08-11 Huawei Technologies Co., Ltd. Method and device for terminal device management based on right control
WO2012124999A2 (ko) * 2011-03-17 2012-09-20 엘지전자 주식회사 단말의 리소스 제공 방법 및 서버의 리소스 획득 방법
US20120304313A1 (en) * 2011-05-23 2012-11-29 Qualcomm Incorporated Facilitating data access control in peer-to-peer overlay networks

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082553B1 (en) * 1997-08-25 2006-07-25 At&T Corp. Method and system for providing reliability and availability in a distributed component object model (DCOM) object oriented system
US6823338B1 (en) * 1998-11-19 2004-11-23 International Business Machines Corporation Method, mechanism and computer program product for processing sparse hierarchical ACL data in a relational database
CN1553380A (zh) * 2003-05-27 2004-12-08 鸿富锦精密工业(深圳)有限公司 数据库使用权限控制系统及方法
JP2006270353A (ja) 2005-03-23 2006-10-05 Konica Minolta Business Technologies Inc 画像処理装置、データ管理方法、およびコンピュータプログラム
CN101080077B (zh) 2006-05-23 2011-07-13 华为技术有限公司 设备管理树的维护方法及终端设备
US20080046433A1 (en) * 2006-08-16 2008-02-21 Microsoft Corporation Role template objects for network account lifecycle management
JP2007193826A (ja) * 2007-02-19 2007-08-02 Ricoh Co Ltd データ管理装置、データ管理処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP4131871B2 (ja) 2007-02-23 2008-08-13 富士通株式会社 論理回路遅延最適化システム、論理回路遅延最適化方法、及びプログラム
CN101282330B (zh) 2007-04-04 2013-08-28 华为技术有限公司 网络存储访问权限管理方法及装置、网络存储访问控制方法
CN102546760B (zh) * 2008-02-04 2015-11-25 华为技术有限公司 设备管理的方法和终端、装置、系统
CN101316273B (zh) 2008-05-12 2012-08-22 华中科技大学 一种分布式安全存储系统
US8578153B2 (en) * 2008-10-28 2013-11-05 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for provisioning and managing a device
US9590961B2 (en) * 2009-07-14 2017-03-07 Alcatel Lucent Automated security provisioning protocol for wide area network communication devices in open device environment
US8116757B2 (en) 2009-07-29 2012-02-14 Intel Corporation Virtual network service provider for mobile virtual network operator activation
US8924544B2 (en) * 2010-12-07 2014-12-30 Samsung Electronics Co., Ltd. Techniques for sessionless reporting by device management client
EP3425942A1 (en) * 2012-01-13 2019-01-09 Iot Holdings, Inc. Method and apparatus for supporting machine-to-machine communications
KR20150031225A (ko) * 2012-06-22 2015-03-23 엘지전자 주식회사 무선 통신 시스템에서 서버를 활성화 또는 비활성화하기 위한 방법 및 장치
US9571502B2 (en) * 2012-09-14 2017-02-14 International Business Machines Corporation Priority resolution for access control list policies in a networking device
KR102245367B1 (ko) * 2012-10-30 2021-04-28 엘지전자 주식회사 무선 통신 시스템에서 특정 리소스에 대한 접근 권한을 인증하기 위한 방법 및 장치
US9769801B2 (en) * 2012-11-05 2017-09-19 Lg Electronics Inc. Method and apparatus for updating information regarding specific resource in wireless communication system
US9615346B2 (en) * 2012-12-05 2017-04-04 Lg Electronics Inc. Method and apparatus for notifying information change in wireless communication system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060184530A1 (en) * 2005-02-11 2006-08-17 Samsung Electronics Co., Ltd. System and method for user access control to content in a network
KR20110031234A (ko) * 2008-07-14 2011-03-24 노키아 지멘스 네트웍스 오와이 가입자 데이터베이스에 대한 방법 및 장치
US20110196966A1 (en) * 2008-10-14 2011-08-11 Huawei Technologies Co., Ltd. Method and device for terminal device management based on right control
WO2012124999A2 (ko) * 2011-03-17 2012-09-20 엘지전자 주식회사 단말의 리소스 제공 방법 및 서버의 리소스 획득 방법
US20120304313A1 (en) * 2011-05-23 2012-11-29 Qualcomm Incorporated Facilitating data access control in peer-to-peer overlay networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2950497A4 *

Also Published As

Publication number Publication date
JP2016507823A (ja) 2016-03-10
CN104937895A (zh) 2015-09-23
JP6055111B2 (ja) 2016-12-27
KR20150107720A (ko) 2015-09-23
EP2950497B1 (en) 2018-03-07
CN104937895B (zh) 2018-04-24
EP2950497A1 (en) 2015-12-02
EP2950497A4 (en) 2016-10-12
US20150358824A1 (en) 2015-12-10
KR102145741B1 (ko) 2020-08-19
US9900727B2 (en) 2018-02-20

Similar Documents

Publication Publication Date Title
KR102145741B1 (ko) 무선 통신 시스템에서 접근 제어를 위한 방법 및 장치
KR102104899B1 (ko) 무선 통신 시스템에서 접근 권한 인증을 위한 방법 및 장치
KR102245367B1 (ko) 무선 통신 시스템에서 특정 리소스에 대한 접근 권한을 인증하기 위한 방법 및 장치
KR20150088787A (ko) 무선 통신 시스템에서 특정 리소스에 대한 정보 갱신을 위한 방법 및 장치
US9319412B2 (en) Method for establishing resource access authorization in M2M communication
KR102415664B1 (ko) 무선 통신 시스템에서 통지 수신 중단 요청을 처리하기 위한 방법 및 이를 위한 장치
WO2015080515A1 (ko) 무선 통신 시스템에서 서비스 구독 리소스 기반 인증 방법
CN108353263B (zh) 处理无线通信系统中的服务请求的方法及其设备
WO2017157176A1 (zh) 一种资源分发方法及装置
US9438603B2 (en) Method for managing access right of terminal to resource by server in wireless communication system, and device for same
KR20150031225A (ko) 무선 통신 시스템에서 서버를 활성화 또는 비활성화하기 위한 방법 및 장치
CN111095904A (zh) 通信网络中的服务层消息模板

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: 14740172

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20157015601

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2015551628

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14760105

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2014740172

Country of ref document: EP