WO2019083210A1 - System for controlling security service and operating method thereof - Google Patents

System for controlling security service and operating method thereof

Info

Publication number
WO2019083210A1
WO2019083210A1 PCT/KR2018/012099 KR2018012099W WO2019083210A1 WO 2019083210 A1 WO2019083210 A1 WO 2019083210A1 KR 2018012099 W KR2018012099 W KR 2018012099W WO 2019083210 A1 WO2019083210 A1 WO 2019083210A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic device
license
service
server
application
Prior art date
Application number
PCT/KR2018/012099
Other languages
French (fr)
Korean (ko)
Inventor
장소정
문승호
정우영
황석준
황승오
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of WO2019083210A1 publication Critical patent/WO2019083210A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems

Definitions

  • Various embodiments of the present invention disclose a system for controlling a security service and a method of operation thereof.
  • PDAs wearable devices, digital cameras (personal digital assistants), personal digital assistants (PDAs), personal digital assistants various types of electronic devices such as a camera or a personal computer are widely used.
  • BYOD base station
  • MDM mobile device management
  • MDM can refer to a series of processes to protect, manage, monitor, and support electronic devices.
  • MDM can represent a solution that enables some functions of electronic devices to be centrally controlled by enterprise IT managers and managed to enforce security policies.
  • a secured (or restricted) function e.g., an application programming interface (API) for a function
  • the application must have permission related to the security function May be possible. If the application is not authorized, the application may be able to invoke the secured function (eg API) after activating the license.
  • an API for a secured function may exist for each secured feature (or service). Therefore, in an electronic device to which a security solution is applied, there is an inconvenience that complicated procedures for activating licenses must be performed every time a characteristic (or service) is to be used for an unauthorized application, May be increased.
  • a licensing system for managing a security license for controlling a security service in a mobile device management (MDM) solution and a control method thereof are disclosed.
  • a system includes a network interface, at least one processor operatively connected to the network interface, and at least one memory operatively coupled to the processor, Wherein the processor is configured to receive a request to authenticate a license through the network interface from an electronic device to which mobile device management (MDM) is applied, perform authentication of the license,
  • MDM mobile device management
  • the method comprising the steps of: storing instructions that allow the electronic device to provide information related to the license, the information including at least one permission or permission to specify at least one permitted function or component of the electronic device, ), And at least one Wherein the electronic device is operable to download the at least one application program and to operate based on whether the service is permitted when the application program is executed, have.
  • An electronic device in accordance with various embodiments of the present invention includes a network interface, at least one processor operatively coupled to the network interface, and at least one memory operatively coupled to the processor, Wherein the processor, when executing an application program, transmits a request for authenticating a license through the network interface to the server, and from the server, via the network interface, information relating to the license Wherein the information includes permission to indicate at least one permitted function or component of the electronic device, and instructions for the electronic device to use At least one permitted application program
  • the electronic device comprising: a service (service) indicates may be operated at least one application download (download) the program and on the basis of whether or not to allow execution of the service to the application program.
  • a method of operating a system in accordance with various embodiments of the present invention includes receiving a request to authenticate a license through a network interface from an electronic device to which mobile device management (MDM) is applied, performing authentication of the license And providing, via the network interface, information related to the license to the electronic device, the information including at least one permitted function or component of the electronic device, And at least one application program that is permitted to be used by the electronic device, the electronic device downloading the at least one application program, And when executing the application program, It may be operated on the basis of whether or not for.
  • MDM mobile device management
  • An operation method of an electronic device includes an operation of transmitting a request for authenticating a license through a network interface to a server when an application program is executed, The method comprising: receiving, via a network interface, information related to the license, the information comprising: a permission indicating at least one permitted function or component of the electronic device; The electronic device comprising a service representative of at least one application program permitted to be used by the electronic device, the electronic device downloading the at least one application program and determining whether the service is permitted upon execution of the application program Based operation.
  • the range of the security function that is controlled based on the permission (or authority) can be extended to the service base, thereby extending the control range of the license system.
  • FIG. 1 is a block diagram of an electronic device in a network environment in accordance with various embodiments.
  • FIG. 2 is a block diagram of a program according to various embodiments.
  • FIG. 3 is a diagram schematically illustrating an example of a system configuration according to various embodiments.
  • FIG. 4 is a diagram illustrating an example of controlling licenses on a service basis in a system according to various embodiments.
  • FIG. 5 is a diagram illustrating an example of controlling a license based on a service in a system according to various embodiments.
  • FIG. 6 is a flow chart illustrating operation of an electronic device according to various embodiments.
  • FIG. 7 is a flow chart illustrating operation of a manufacturer server in accordance with various embodiments.
  • FIG. 8 is a flow diagram illustrating operation of a vendor server in accordance with various embodiments.
  • FIG. 9 is a diagram illustrating operations for managing licenses in a system according to various embodiments.
  • FIG. 1 is a block diagram of an electronic device 101 in a network environment 100 in accordance with various embodiments.
  • an electronic device 101 in a network environment 100 communicates with an electronic device 102 via a first network 198 (e.g., near-field wireless communication) or a second network 199 (E. G., Remote wireless communication).
  • a first network 198 e.g., near-field wireless communication
  • a second network 199 E. G., Remote wireless communication
  • the electronic device 101 is capable of communicating with the electronic device 104 through the server 108.
  • the electronic device 101 includes a processor 120, a memory 130, an input device 150, an audio output device 155, a display device 160, an audio module 170, a sensor module 176, an interface 177, a haptic module 179, a camera module 180, a power management module 188, a battery 189, a communication module 190, a subscriber identity module 196, and an antenna module 197 ).
  • at least one (e.g., display 160 or camera module 180) of these components may be omitted from the electronic device 101, or other components may be added.
  • a sensor module 176 e.g., a fingerprint sensor, an iris sensor, or an illuminance sensor
  • Components can be integrated and implemented.
  • Processor 120 drives at least one other component (e.g., hardware or software component) of electronic device 101 that is coupled to processor 120 by driving software, e.g., program 140, And can perform various data processing and arithmetic operations.
  • Processor 120 loads instructions and data received from other components (e.g., sensor module 176 or communications module 190) into a volatile memory 132 for processing, May be stored in a non-volatile memory (134).
  • the processor 120 may include a main processor 121 (e.g., a central processing unit (CPU) or an application processor (AP)) and, independently, (E.g., a graphics processing unit (GPU), an image signal processor (ISP), a sensor hub, etc.) using a lower power than the main processor 121, A sensor hub processor, or a communication processor (CP)).
  • a main processor 121 e.g., a central processing unit (CPU) or an application processor (AP)
  • AP application processor
  • GPU graphics processing unit
  • ISP image signal processor
  • sensor hub e.g., a sensor hub processor
  • CP communication processor
  • the coprocessor 123 may be operated separately from or embedded in the main processor 121.
  • the coprocessor 123 may, for example, be on behalf of the main processor 121 while the main processor 121 is inactive (e.g., in a sleep state) At least one of the components of the electronic device 101 (e.g., the display device 160, the sensor), the main processor 121, (E.g., module 176, or communication module 190).
  • the coprocessor 123 e.g., an image signal processor or communications processor
  • the coprocessor 123 is implemented as a component of some other functionally related component (e.g., camera module 180 or communication module 190) .
  • Memory 130 may store various data used by at least one component (e.g., processor 120 or sensor module 176) of electronic device 101, e.g., software (e.g., program 140) ), And input data or output data for the associated command.
  • the memory 130 may include a volatile memory 132 or a non-volatile memory 134.
  • the program 140 may be software stored in the memory 130 and may include, for example, an operating system (OS) 142, a middleware 144,
  • OS operating system
  • middleware middleware
  • the input device 150 is an apparatus for receiving a command or data to be used for a component (e.g., processor 120) of the electronic device 101 from the outside (e.g., a user) of the electronic device 101, A microphone, a mouse, a keyboard, or the like.
  • a component e.g., processor 120
  • the sound output device 155 is an apparatus for outputting a sound signal to the outside of the electronic device 101.
  • the sound output device 155 may include a speaker for general use such as a multimedia reproduction or a sound reproduction and a receiver receiver.
  • the receiver may be formed integrally or separately with the speaker.
  • Display device 160 may be an apparatus for visually providing information to a user of electronic device 101 and may include, for example, a display, a hologram device, or a projector and control circuitry for controlling the projector. According to one embodiment, the display device 160 may include a pressure sensor (or force sensor) capable of measuring the intensity of pressure on a touch circuitry or touch .
  • a pressure sensor or force sensor
  • the audio module 170 is capable of bi-directionally converting sound and electrical signals. According to one embodiment, the audio module 170 may acquire sound through the input device 150, or may be connected to the audio output device 155, or to an external electronic device (e.g., Electronic device 102 (e.g., a speaker or headphone)).
  • an external electronic device e.g., Electronic device 102 (e.g., a speaker or headphone)
  • the sensor module 176 may generate an electrical signal or data value corresponding to an internal operating state (e.g., power or temperature) of the electronic device 101, or an external environmental condition.
  • the sensor module 176 may be, for example, a gesture sensor, a gyro sensor, a barometer sensor, a magnetic sensor, an acceleration sensor, a grip sensor a proximity sensor, a color sensor (e.g., an RGB (red, green, blue) sensor, an infrared (IR) sensor, a biomedical sensor, sensor, a humidity sensor, an illuminance sensor, and the like.
  • the interface 177 may support a designated protocol that can be wired or wirelessly connected to an external electronic device (e.g., the electronic device 102).
  • the interface 177 may include a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • SD secure digital
  • the connection terminal 178 may be a connector capable of physically connecting the electronic device 101 and an external electronic device such as the electronic device 102, for example, an HDMI connector, a USB connector, an SD card connector , Or an audio connector (e.g., a headphone connector).
  • an HDMI connector e.g., a USB connector
  • an SD card connector e.g., a USB connector
  • an audio connector e.g., a headphone connector
  • the haptic module 179 may convert electrical signals into mechanical stimuli (e.g., vibrations or movements) or electrical stimuli that the user may perceive through a tactile or kinesthetic sense.
  • the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 180 can capture a still image and a moving image.
  • the camera module 180 may include one or more lenses, an image sensor, an image signal processor, or a flash.
  • the power management module 188 is a module for managing the power supplied to the electronic device 101, and may be configured as at least a part of, for example, a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 189 is an apparatus for supplying power to at least one component of the electronic device 101 and includes, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell .
  • the communication module 190 is responsible for establishing a wired or wireless communication channel between the electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108) Lt; / RTI > Communication module 190 may include one or more communication processors that support wired communication or wireless communication, operating independently of processor 120 (e.g., an application processor).
  • the communication module 190 may include a wireless communication module 192 (e.g., a cellular communication module, a short range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (E.g., a local area network (LAN) communication module, or a power line communication module), and the corresponding communication module may be used to communicate with a first network 198 (e.g., Bluetooth, WiFi direct, Communication network) or a second network 199 (e.g., a telecommunications network such as a cellular network, the Internet, or a computer network such as a LAN or wide area network (WAN)).
  • a wireless communication module 192 e.g., a cellular communication module, a short range wireless communication module, or a global navigation satellite system (GNSS) communication module
  • GNSS global navigation satellite system
  • wired communication module 194 E.g., a local area network (LAN) communication module, or a power line communication module
  • the wireless communication module 192 may use the user information stored in the subscriber identification module 196 to identify and authenticate the electronic device 101 within the communication network.
  • the antenna module 197 may include one or more antennas for externally transmitting or receiving signals or power.
  • the communication module 190 e.g., the wireless communication module 192 may transmit or receive signals to or from an external electronic device via an antenna suitable for the communication scheme.
  • Some of the components are connected to each other via a communication method (e.g., bus, general purpose input / output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI) (For example, commands or data) can be exchanged with each other.
  • a communication method e.g., bus, general purpose input / output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI) (For example, commands or data) can be exchanged with each other.
  • GPIO general purpose input / output
  • SPI serial peripheral interface
  • MIPI mobile industry processor interface
  • the command or data may be transmitted or received between the electronic device 101 and the external electronic device 104 via the server 108 connected to the second network 199.
  • Each of the electronic devices 102 and 104 may be the same or a different kind of device as the electronic device 101.
  • all or a portion of the operations performed in the electronic device 101 may be performed in the other one or more of the plurality of external electronic devices 102,104.
  • the electronic device 101 in the event that the electronic device 101 has to perform some function or service automatically or upon request, the electronic device 101 may be capable of executing the function or service itself, And may request the external electronic device 102, 104 to perform at least some functions associated therewith.
  • the external electronic device 102, 104 receiving the request can execute the requested function or additional function and transmit the result to the electronic device 101.
  • the electronic device 101 can directly or additionally process the received result to provide the requested function or service.
  • cloud computing, distributed computing, or client-server computing techniques may be used.
  • FIG. 2 is a block diagram 200 of a program 140 in accordance with various embodiments.
  • the program 140 includes an operating system 142 for controlling one or more resources of the electronic device 101, a middleware 144, or an application executable on the operating system 142 146 < / RTI >
  • the operating system 142 may include, for example, Android TM , iOS TM , Windows TM , Symbian TM , Tizen TM , or Bada TM .
  • At least some of the programs 140 may be pre-loaded into the electronic device 101 at the time of manufacture, or may be pre-loaded in the user's environment by external electronic devices such as electronic devices 102 or 104 (E.g., server 108, or server 108).
  • the operating system 142 may control (e.g., allocate or recover) system resources (e.g., processes, memory, or power) of the electronic device 101.
  • the operating system 142 may additionally or alternatively include other hardware devices of the electronic device 101 such as an input device 150, an audio output device 155, a display device 160, an audio module 170, A sensor module 176, an interface 177, a haptic module 179, a camera module 180, a power management module 188, a battery 189, a communication module 190, a subscriber identification module 196, And one or more driver programs for driving the antenna module 197.
  • the middleware 144 may provide various functions to the application 146 so that the application 146 may use the functions or information provided by the one or more resources of the electronic device 101.
  • the middleware 144 includes an application manager 201, a window manager 203, a multimedia manager 205, a resource manager 207, A power manager 209, a database manager 211, a package manager 213, a connectivity manager 215, a notification manager (not shown) 217, a location manager 219, a graphic manager 221, a security manager 223, a telephony manager 225, or a speech recognition manager 227, and the like.
  • the application manager 201 can manage the life cycle of the application 146, for example.
  • the window manager 203 can manage GUI (graphical user interface) resources used in the screen, for example.
  • the multimedia manager 205 can recognize a format required for playback of media files and perform encoding or decoding of the media file using a codec suitable for the format.
  • the resource manager 207 can manage, for example, the source code of the application 146 or the space of the memory.
  • the power manager 209 manages the capacity, the temperature, or the power supply of the battery, for example, and can determine or provide the power information necessary for the operation of the electronic device 101 by using the information among them. According to one embodiment, the power manager 209 can interface with a basic input / output system (BIOS).
  • BIOS basic input / output system
  • the database manager 211 may create, retrieve, or modify the database to be used in the application 146, for example.
  • the package manager 213 can manage installation or update of an application distributed in the form of a package file, for example.
  • the connectivity manager 215 can manage, for example, a wireless or wired connection between the electronic device 101 and an external electronic device.
  • the notification manager 217 may provide a function for notifying a user of, for example, a generated event (e.g., a call, a message, or an alarm).
  • the location manager 219 can manage the location information of the electronic device 101, for example.
  • the graphic manager 221 may manage, for example, a graphical effect to be provided to the user or a user interface associated therewith.
  • the security manager 223 may provide, for example, system security or user authentication.
  • the call manager 225 can manage, for example, a voice call or a video call function of the electronic device 101.
  • the voice recognition manager 227 transmits the voice data of the user to the server 108 and transmits a command corresponding to the function to be performed in the electronic device 101 or a corresponding voice
  • the converted character data can be received based on the data.
  • the middleware 244 may dynamically delete some existing components or add new ones.
  • at least some of the middleware 144 may be included as part of the operating system 142, or may be implemented in software separate from the operating system 142.
  • the application 146 includes a home 251, a dialer 253, an SMS / MMS 255, an instant message 257, a browser 259, a camera 261, an alarm 263, Contact 265, voice recognition 267, email 269, calendar 271, media player 273, album 275, watch 277, health 279 (e.g., Measurement), or environmental information 281 (e.g., pressure, humidity, or temperature information) applications.
  • a home 251 a dialer 253, an SMS / MMS 255, an instant message 257, a browser 259, a camera 261, an alarm 263, Contact 265, voice recognition 267, email 269, calendar 271, media player 273, album 275, watch 277, health 279 (e.g., Measurement), or environmental information 281 (e.g., pressure, humidity, or temperature information) applications.
  • the application 146 may further include an information exchange application (not shown) capable of supporting the exchange of information between the electronic device 101 and an external electronic device.
  • the information exchange application may include, for example, a notification relay application for communicating information (e.g., a call, a message, or an alarm) designated as an external electronic device, or a device management application for managing an external electronic device have.
  • the notification relay application transmits notification information corresponding to an event (e.g., mail reception) generated in another application (e.g., an email application 269) of the electronic device 101 to an external electronic device , Or receive notification information from an external electronic device and provide it to the user of the electronic device 101.
  • an event e.g., mail reception
  • an email application 269 e.g., an email application 269
  • the device management application may be used to control the power (e.g., turn on) of an external electronic device that communicates with the electronic device 101 or some of its components (e.g., the display device 160 or the camera module 180) (e.g., brightness, resolution, or focus of the display device 160 or the camera module 180) of the display device 160 or the display device 160 or the turn-off of the display device 160 or the turn-off of the display device 160 or the camera module 180.
  • the device management application may additionally or alternatively support the installation, deletion, or update of an application running on an external electronic device.
  • the electronic device 101 can be various types of devices.
  • the electronic device can include, for example, at least one of a portable communication device (e.g., a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance.
  • a portable communication device e.g., a smart phone
  • a computer device e.g., a laptop, a desktop, a smart phone
  • portable multimedia device e.g., a portable multimedia device
  • portable medical device e.g., a portable medical device
  • camera e.g., a camera
  • a wearable device e.g., a portable medical device
  • module includes a unit of hardware, software, or firmware and may include, for example, logic, a logic block, Circuits, and the like.
  • a module may be an integrally constructed component or a minimum unit or part thereof that performs one or more functions.
  • the module may be configured as an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • Various embodiments of the present document may include instructions stored in machine-readable storage media (e.g., internal memory 136 or external memory 138) readable by a machine (e.g., a computer) (E. G., Program 140). ≪ / RTI >
  • the device may include an electronic device (e.g., electronic device 101) in accordance with the disclosed embodiments as an apparatus that is operable to invoke stored instructions from the storage medium and act upon the called instructions.
  • a processor e.g., processor 120
  • the processor may perform functions corresponding to the instruction, either directly or using other components under the control of the processor.
  • the instructions may include code generated or executed by a compiler or an interpreter.
  • a device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-temporary' means that the storage medium does not include a signal and is tangible, but does not distinguish whether data is stored semi-permanently or temporarily on the storage medium.
  • a method according to various embodiments disclosed herein may be provided in a computer program product.
  • a computer program product can be traded between a seller and a buyer as a product.
  • the computer program product may be distributed in the form of a machine-readable storage medium (eg CD-ROM, compact disc read only memory) or online via an application store (eg PlayStore TM ).
  • an application store eg PlayStore TM
  • at least a portion of the computer program product may be temporarily stored, or temporarily created, on a storage medium such as a manufacturer's server, a server of an application store, or a memory of a relay server.
  • Each of the components may be comprised of a single entity or a plurality of entities, and some subcomponents of the aforementioned subcomponents may be omitted, or other subcomponents may be various May be further included in the embodiments.
  • some components e.g., modules or programs
  • FIG. 3 is a diagram schematically illustrating an example of a system configuration according to various embodiments.
  • a system 300 includes a vendor 310, a manufacturer server (e.g., a Samsung server) 320, an electronic device 330, .
  • a manufacturer server e.g., a Samsung server
  • the functional processing module may be included in each component (e.g., vendor 310, manufacturer server 320, electronic device 330).
  • the vendor 310, the manufacturer server 320, and the electronic device 330 process (e.g., request for licenses, generate, register, transmit, or receive) operations related to providing licenses to each other (E.g., at least some of the components corresponding to the components of the electronic device 101 shown in FIG. 1).
  • the vendor 310, the manufacturer server 320, and the electronic device 330 may include a network interface for wireless communication with each other, a network interface operatively connected to the network interface, At least one processor, and at least one memory operatively coupled to the processor, respectively.
  • vendor 310 may represent a module provided (or implemented) by, for example, a vendor (vendor) that intends to use MDM.
  • the vendor 310 may provide services using the MDM API provided by the manufacturer of the electronic device 330 (e.g., the electronic device 101 of FIG. 1), a vendor that builds an MDM solution in the business (or server) of a vendor (e.g., a third party, or a carrier).
  • the vendor 310 may include an MDM server 311 or the like.
  • the MDM server 311 is an administration service that manages the electronic device 330 and may change the configuration of the electronic device 330 and other MDM related systems, Patches can be applied.
  • the MDM server 311 may store the security policy established by the administrator.
  • the MDM server 311 can control the violation rights based on the established security policy. For example, the MDM server 311 may limit the camera-related API permissions of the electronic device 330 or may monitor the operation of the electronic device 330.
  • the MDM server 311 needs a key for the enterprise and may push the license key to the MDM client 337 of the electronic device 330.
  • the license key may include at least one of a key for authentication, a key for identification, required software development kit (SDK) information, or authorization information.
  • the MDM server 311 may apply and obtain via a web portal (e.g., the portal server 321 of the manufacturer server 320). The detailed operation of the MDM server 311 will be described with reference to the following drawings.
  • the manufacturer server 320 may be a server that provides an MDM solution, for example, a manufacturer of the electronic device 330.
  • the manufacturer server 320 may provide the SDK and license key to a particular business (e.g., vendor 310) with the MDM solution.
  • the manufacturer server 320 may include a portal server 321, a global server load balancing (GSLB) server 323, and a license server 325 .
  • GSLB global server load balancing
  • the portal server 321 may issue a license with an SDK that provides security functions (e.g., a Knox function) within the electronic device 330.
  • the portal server 321 may include an enterprise alliance program (EAP) and a license manager (LM).
  • EAP enterprise alliance program
  • LM license manager
  • the SEAP provides an SDK for security functions within the electronic device 330, which allows the developer to create a more secure and differentiated enterprise solution via the SDK.
  • the license manager may issue licenses.
  • the GSLB server 323 may return the address of a license server (e.g., license server 325 of FIG. 3) that is appropriate for the electronic device 330 (e.g., a license client 331) (E.g., server / site load balancing), a fast service response (e.g., low latency by network proximity) to the electronic device 330, or an electronic device 330 may provide the most suitable license server to the electronic device 330 considering the proximity to the nearest server (e.g. nearest by geographic proximity).
  • a license server e.g., license server 325 of FIG. 3
  • a license client 331 E.g., server / site load balancing
  • a fast service response e.g., low latency by network proximity
  • an electronic device 330 may provide the most suitable license server to the electronic device 330 considering the proximity to the nearest server (e.g. nearest by geographic proximity).
  • the license server 325 may include a server for managing and storing license keys.
  • the electronic device 330 may download a particular application and install the downloaded application.
  • the electronic device 330 may be driven based on a predetermined operating system (OS) and may manage the application based on the OS driving method.
  • OS operating system
  • the electronic device 330 can manage applications based on various operating systems such as Android TM , iOS TM , Windows TM , Symbian TM , Tizen TM , Bada TM , and BlackBerry TM .
  • an application may include a generic meaning of a program, service, or function that may be executed on various operating systems.
  • the electronic device 330 may provide some of the API rights required by the application 335, based on the security policy established by the vendor 310 (e.g., MDM server 311) Can be limited. Accordingly, the user of the electronic device 330 can only use some of the allowed functions of the application 335 (or make some functions unavailable) under the MDM solution, and the security of the business (or in-house) can be enhanced . According to one embodiment, the electronic device 330 may not permanently utilize API privileges initially granted by the MDM solution. For example, the electronic device 330 may periodically or aperiodically query the manufacturer server 320 (or the server of the manufacturer of the electronic device 330) whether the license key is valid. The electronic device 330 may re-establish the API rights that are granted based on the right object (RO) that is answered according to the validity of the license key from the manufacturer server 320.
  • RO right object
  • the electronic device 330 includes a license client 331, a framework (e.g., MDM framework) 333, a service 335, and an MDM client 337, .
  • a framework e.g., MDM framework
  • the MDM client 337 may represent a client that interacts between the electronic device 330 and the MDM server 311. According to one embodiment, the MDM client 337 may activate licenses and use features.
  • the license client 331 may include a module for authenticating licenses within the electronic device 330.
  • the framework 333 may represent a framework that provides various features (e.g., Knox / MDM Feature) within the electronic device 330.
  • the service 335 may represent a Feature (e.g., a Knox Feature) provided within the electronic device 330.
  • a service list (e.g., a Knox service list) that is required to be controlled with the current license may be provided.
  • the services included in the service list include, for example, a S-browser (Samsung browser) in addition to a security service (e.g., Knox service) such as Samsung Focus or E-FOTA , A Tachyon service or the like, a B2B application provided in the manufacturer's electronic device 101, and the like.
  • the framework 333 e.g., MDM Framework
  • the service of the application or application e.g., Knox Service
  • the callback value of the API returns true, the service can be executed. If the API callback value returns false, the service may not be executed.
  • a free function or open function
  • a paid function or security function
  • a service e.g., a secure application such as a Tachyon application
  • the MDM client 337 may be provided by the user to a payload (or security function)
  • the application 335 internally grants the corresponding service (e.g., a service related to the paid (or security) function) to the MDM API at a point in time to perform a service (for example, a security service such as a Knox service)
  • a service for example, a security service such as a Knox service
  • the electronic device 330 is in a state in which an associated license (e.g., a license authenticated in connection with the application 335) is active and the license includes the service If it is a license, true may be returned, and if the license is a license that does not include the service, a false may be returned. Based on the fact that the True is returned, the user can use the paid function (or security function) in the specific application using the electronic device 330.
  • An example of specific operation for processing this is shown in FIG.
  • FIG. 4 is a diagram for explaining an example of controlling a license based on a service in a system according to various embodiments.
  • an operational scenario for an application may be displayed in the electronic device 330.
  • the Samsung focus application is an application that facilitates managing and processing business-related information such as e-mail, schedule, todo, memo, and address book to exchange active sync (EAS) and IMAP / POP3 users .
  • the Samsung focus application is divided into a free function and a paid function, and at least one Feature related to the paid function can correspond to a " service " according to various embodiments.
  • the Tachyon application is an application that provides an automatic setup (or an automatic configuration) in the electronic device 330, for example, an email or a quick response ) Code to support automated configuration and provisioning of mobile devices.
  • the Tachyon application may correspond to a " service " in accordance with various embodiments where the application itself is included in the security policy, for example, whether or not the Tachyon application is running. According to one embodiment, even if the Tachyon application is installed in the electronic device 330, the Tachyon application may not run in the electronic device 330 if the service does not include a Tachyon application.
  • a vendor 310 using a security service may request a license including a feature to be used from the portal server 321.
  • the vendor 310 may request a new license key to the portal server 321 based at least on the selected permissions and services selected by the administrator.
  • the permissions may represent at least one permitted function or component of the electronic device 330.
  • the portal server 321 In response to the license key request of the vendor 310, the portal server 321 requests the license manager 321A to issue the license internally and the license server 325 issues the issued (generated) license at the operation 403, Lt; / RTI > According to one embodiment, the portal server 321 may generate a requested license based on the license manager 321A, register the permissions and services requested from the vendor 310 to the generated license , And may be stored in the DB 327 through the license server 325.
  • the vendor 310 may obtain a license corresponding to the request of the vendor 310 via the EAP 321B of the portal server 321.
  • the vendor 310 may obtain a license including permissions and services.
  • the license may further include customer information.
  • the vendor 310 may inject licenses into the MDM server 311 and distribute the licenses to the MDM client 337.
  • the MDM client 337 calls the MDM API via the framework 333 (e.g., the MDM Framework) of the electronic device 330 to activate the license to the electronic device 330 ).
  • the framework 333 e.g., the MDM Framework
  • the framework 333 passes the license and the package name (pkgName, package name) of the MDM client 337 to the license client 331 of the electronic device 330 via an intent (Transmission).
  • the license client 331 may obtain information about the package. According to one embodiment, the license client 331 may determine whether a certificate is installed in the electronic device 330 based on the signature hash of the application and obtain information about the result of the determination can do.
  • the license client 331 may contact the GSLB server 323 to fetch the address of the license server to which the electronic device 330 will connect (e.g., the address of the license server 325) have.
  • the license client 331 may request the URL associated with the license server to which the electronic device 330 can connect and receive the URL from the GSLB server 323, to the GSLB server 323.
  • the license client 331 may request the license server 325 to perform license authentication.
  • the license client 331 may access the license server 325 and request license authentication based on the address (e.g., URL) of the license server 325 obtained from the GSLB server 323 have.
  • the license client 331 may request the license application 325 to validate the registration application and the license.
  • the license server 325 responds to the license authentication request of the electronic device 330 (e.g., the license client 331 of the electronic device 330) to the license server 325 DB 327 You can use the stored license and package information (eg, permissions, services) to determine if the requested license is valid.
  • the license server 325 may validate the license through the application's signature hash and set permissions and services on the authenticated license.
  • the license server 325 may send the authentication result to the license client 331.
  • the authentication result may include a license that includes a permission list and a service list.
  • a license structure (e.g., RO (Right Object) structure) may be provided as shown in Table 1 below.
  • the license (e.g., RO) may include service names, a limitation for each service, and a detail field, (E. G., Focus, E-FOTA, Tachyon). ≪ / RTI >
  • the information about the services under the services item includes the allowed package version, name, or hash value of the public key.
  • information about a service is provided as an object (e.g., RO, right object) that includes permissions and services (or a list of services, e.g., Focus, E-FOTA, Tachyon) .
  • the object has a JavaScript Object Notation (JSON) file format and the license server 325 transfers the information including the data in the license structure to the electronic device 330 in the JSON file format .
  • JSON JavaScript Object Notation
  • an object may be stored in a storage medium such as an ID, a state, an issue date, an expiration date, a license type, an upload time, or an upload frequency And may include at least one.
  • the license client 331 may store the authorization result (e.g., information about constraints) on the license within the application.
  • the license client 331 may store the authentication results and objects (e.g., permissions, and services).
  • the license client 331 may pass the license authorization result and objects (e.g., permissions, and services) to the framework 333 (e.g., the MDM Framework).
  • objects e.g., permissions, and services
  • the framework 333 may store the results in an internal DB (e.g., enterprise DB) of the framework 333 and may grant permissions for the applications.
  • the framework 333 may store objects (e.g., permissions and services) obtained via the license client 331 in an internal DB (e.g., enterprise DB) and may be stored in a package manager You can set the permissions by an internal DB (e.g., enterprise DB) of the framework 333 and may grant permissions for the applications.
  • the framework 333 may store objects (e.g., permissions and services) obtained via the license client 331 in an internal DB (e.g., enterprise DB) and may be stored in a package manager You can set the permissions by an internal DB (e.g., enterprise DB) of the framework 333 and may grant permissions for the applications.
  • the framework 333 may store objects (e.g., permissions and services) obtained via the license client 331 in an internal DB (e.g., enterprise DB) and may be
  • the framework 333 may communicate the result (intent, result) of the authentication operation to the MDM client 337 in response to all of the license authentication operations being completed.
  • the MDM client 337 may be enabled to use a Feature (e.g., a paid function or a security function) provided by an activated license (e.g., a license according to the operation 409).
  • the electronic device 330 when the user subsequently uses the electronic device 330 to use a paid function (or security function) of an application (e.g., a Samsung Focus application, a Tachyon application, etc.)
  • the MDM API provided by the framework 333 may be called.
  • the application 335 may request through the framework 333 to verify that the electronic device 330 allows an allowed service (e.g., Focus or Tachyon).
  • the framework 333 determines whether the corresponding service (e.g., Focus, Tachyon) exists in an allowed service (or service list) in an internal DB (e.g., enterprise DB) And return the result value to the application 335.
  • the framework 333 may return true when the corresponding service exists in the internal DB, and may return a false if the corresponding service does not exist in the internal DB .
  • the application 335 may allow the user to use a paid function (or a security function, the application itself) when a return from the framework 333 is true. According to one embodiment, the application 335 may not allow the use of a paid function (or a security function, the application itself) by the user when a false return from the framework 333 is returned.
  • FIG. 5 is a diagram for explaining an example of controlling a license based on a service in a system according to various embodiments.
  • an operation scenario for an application (e.g., E-FOTA, etc.) may be displayed on the electronic device 330 at the vendor 310.
  • an application or service
  • FIG. 5 may be limited to the target electronic devices 330 to which the MDM solution is applied, and may indicate an operation upon execution of firmware update or the like.
  • operations 501 to 529 of FIG. 5 are operations corresponding to the operations 401 to 429 of FIG. 4 as described in the description with reference to FIG. And a detailed description of operations 501 to 529 will be omitted.
  • the vendor 310 and the electronic device 330 may be configured to execute an application on the electronic device 330 by the vendor 310 in a state of storing an authorized license, respectively, An operation example can be shown.
  • the MDM client 337 sends a request to the framework 333 of the electronic device 330 at a point in time to use an application (e.g., an E-FOTA application) You can call the MDM API provided by For example, the MDM client 337 may request through the framework 333 to verify that the electronic device 330 allows an allowed service (e.g., E-FOTA).
  • an application e.g., an E-FOTA application
  • the framework 333 determines whether the corresponding service (e.g., E-FOTA) exists in an allowed service (or service list) in an internal DB (e.g., enterprise DB) And return the result value to the application 335.
  • the framework 333 may return true when the corresponding service exists in the internal DB, and may return a false if the corresponding service does not exist in the internal DB .
  • the application 335 may allow E-FOTA to be executed (e.g., firmware update, etc.) by the electronic device 330 when TRUE from the framework 333 is returned. According to one embodiment, the application 335 may not allow the execution of E-FOTA by the electronic device 330 when a false return from the framework 333 is returned.
  • a network interface e.g., a server operating a license, e.g., a manufacturer server 320
  • a network interface at least one processor operatively coupled to the network interface
  • at least one memory operatively coupled to the processor, wherein the memory, in execution, permits the processor to license through the network interface from the electronic device (330) to which the mobile device management (MDM)
  • MDM mobile device management
  • the method comprising the steps of: receiving a request to authenticate a license, perform authentication of the license, and provide, via the network interface, information relating to the license to the electronic device, At least one permitted function or component of the electronic device 330 ent and at least one application program 325 allowed to be used by the electronic device 330, the electronic device comprising: at least one of the at least one And may be operated based on whether the service is permitted when the application program is executed.
  • the information may include an object including the permission and the service.
  • the object may be a JavaScript Object Notation (JSON) file format.
  • JSON JavaScript Object Notation
  • the object may include an ID, a state, an issue date, an expiration date, a license type, an upload time, or an upload frequency, As shown in FIG.
  • the system includes at least one server (e.g., a portal server 321, a GSLB server 323, a license server 325) that provides the MDM, , Receives a request for a license key from the vendor 310 for MDM construction, generates a license key including the permission and the service in response to the request, and transmits the generated license key to the vendor 310 .
  • a portal server 321, a GSLB server 323, a license server 325 that provides the MDM
  • the electronic device 330 utilizing mobile device management (MDM) in accordance with various embodiments includes a network interface, at least one processor operatively coupled to the network interface, and at least one processor operatively coupled to the processor And at least one memory, wherein the processor, upon execution, causes the processor to, upon execution of an application program, send a request to the server (320) to authenticate a license via the network interface And instructions for causing the server (320) to receive, via the network interface, information pertaining to the license, the information including at least one permitted function of the electronic device (330) a permission indicating a function or a component,
  • the electronic device 330 includes a service that represents at least one application program that the device 330 is allowed to use and the electronic device 330 downloads the at least one application program 325 and the application program And may be operated based on whether or not the service is permitted at the time of execution.
  • the information may include an object including the permission and the service.
  • the object may be a JavaScript Object Notation (JSON) file format.
  • JSON JavaScript Object Notation
  • the object may include an ID, a state, an issue date, an expiration date, a license type, an upload time, or an upload frequency, As shown in FIG.
  • the license may be obtained from a vendor 310 that receives and distributes the license from the server.
  • FIG. 6 is a flow chart illustrating operation of an electronic device according to various embodiments.
  • the electronic device 330 (or the electronic device 101 of FIG. 1) in FIG. 6 may be an electronic device using a MDM solution.
  • an electronic device 330 may obtain a license.
  • the electronic device 330 may install an application (or an application program) and obtain a license associated with the application.
  • an application is at least partially associated with a vendor 310 (or business entity), and may be an application in which at least some functions (or services) operate in a limited manner depending on the application.
  • the electronic device 330 includes a license (e.g., including permissions and services) that is requested by the vendor 310 and registered with the manufacturer server 320, as described in the description section with reference to FIG. It is possible to obtain a license required by the application.
  • the processor 120 may detect application execution.
  • application execution may include execution by a user (e.g., Samsung Focus application execution) or by a vendor 310 (e.g., execution of an E-FOTA application).
  • the processor 120 in response to detecting application execution, may determine whether a confirmation of a license based on the application is required. According to one embodiment, the processor 120 may determine whether the function of the application or application for which execution is requested is a paid function (or a security function) that requires confirmation of the license. In accordance with another embodiment, processor 120 determines the type of application and determines whether it is an application that operates based on a specific authority (e.g., an enterprise application, a license-based administration application, etc.) It can be determined whether the application is an operating application.
  • a specific authority e.g., an enterprise application, a license-based administration application, etc.
  • the processor 120 may execute the requested application at operation 607 if it determines that a license check is not required (NO at operation 605).
  • processor 120 may call the MDM API at operation 609 if it determines that a license check is required (operation 605).
  • the processor 120 calls the API provided by the framework 333 to determine whether a service related to the application or the application is acceptable to the electronic device 330 .
  • an application requested for execution may request via framework 333 to verify that electronic device 330 allows an allowed service, and framework 333 may request an internal DB (e.g., enterprise DB) (Or the service list) in the service 335, and returns the result to the application 335.
  • an internal DB e.g., enterprise DB
  • the processor 120 may determine whether a callback value from the API returns true or whether a false is returned.
  • processor 120 may allow the application or application to use the service at operation 613, based on confirming that true is returned (operation 611) , Then the application may be run at operation 615.
  • processor 120 may determine at operation 617 that it will not allow the application or application to use the service based on confirming that the false is returned (NO at operation 611) (May be unacceptable) and may cause the application or application to stop executing the service at operation 617.
  • FIG. 7 is a flow chart illustrating operation of a manufacturer server in accordance with various embodiments.
  • the manufacturer server 320 may be a server that provides an MDM solution and may be, for example, the manufacturer of the electronic device 330. According to various embodiments, the manufacturer server 320 may provide the SDK and license key to the vendor wishing to build the MDM solution in a particular business.
  • a manufacturer server 320 may receive a license key request from a vendor 310 (e.g., MDM server 311).
  • the vendor 310 may request a license key from the manufacturer server 320 based at least on permissions and services for the application (or application program) or application of the application to be used.
  • (320) may directly receive a request for a license key from vendor (310), or may receive a request for a license key in a variety of ways, such as relaying a web portal (e.g., portal server (321)).
  • the manufacturer server 320 may generate a license key based on receiving the license key request. According to one embodiment, the manufacturer server 320 may generate a license key that includes permissions and services.
  • the manufacturer server 320 may transfer the license key to the vendor 310.
  • the manufacturer server 320 may receive a registration request by the license key from the electronic device 330.
  • the electronic device 330 may receive the license key from the vendor 310 and may request the manufacturer server 320 to register for that license key.
  • the manufacturer server 320 may perform license authentication. According to one embodiment, the manufacturer server 320 may determine whether the license key of the electronic device 330 is valid and generate an authentication result based on the determination result. According to various embodiments, if the license is authentic, the authentication result may include a license that includes a permission list and a service list.
  • the manufacturer server 320 may send the authentication result to the electronic device 330.
  • the authentication result may be provided as an object including permissions and services (or a list of services, e.g., Focus, E-FOTA, Tachyon).
  • the object has a JavaScript Object Notation (JSON) file format
  • the manufacturer server 320 e.g., the license server 325
  • JSON JavaScript Object Notation
  • an object may include an ID, a state, an issue date, an expiration date, a license type, an upload time, or an upload frequency, Or the like.
  • Figure 8 is a flow diagram illustrating the operation of a vendor in accordance with various embodiments.
  • the vendor 310 may obtain a license from the manufacturer server 320, including permissions and services.
  • the vendor 310 may request a license key from the manufacturer server 320 based at least on permissions and services for the application (or application program) or application of the application to be used, and the corresponding license key From the manufacturer server (320).
  • the vendor 310 may store the security policy.
  • the vendor 310 may set security policies (e.g., constraints related to an application or application service) established by the administrator.
  • the vendor 310 may request activation of the license to the electronic device 330.
  • the vendor 310 may send at least one of the license key or security policy to the electronic device 330 using the MDM solution.
  • the MDM client 337 may call the MDM API via the framework 333 (e.g., MDM Framework) of the electronic device 330 to activate the license on the electronic device 330 Can be requested.
  • FIG. 9 is a flow diagram illustrating operations for managing licenses in a system according to various embodiments.
  • FIG. 9 may illustrate an example of an operation of managing a service-based license in a company (e.g., a manufacturer server 320) operating a license server 325.
  • the vendor 310, the manufacturer server 320, and the electronic device 330 may each comprise a network interface (or communication circuit) configured to enable wireless communication with one another .
  • a manufacturer server 320 (or a processor (not shown) of a manufacturer server 320) may receive a request to authenticate a license from the electronic device 330 .
  • the manufacturer server 320 may perform license authentication based on receiving a request for license authentication from the electronic device 330.
  • the manufacturer server 320 may provide the electronic device 330 with information related to the license.
  • the license-related information includes, for example, permission to specify at least one permitted function or component of the electronic device 330, and permission for the electronic device 330 to use And may include a service that represents at least one permitted application (or application program).
  • the electronic device 330 may download and use at least one application while the MDM is being applied.
  • the information associated with the license may be provided as an object including permissions and services.
  • the object may have a JavaScript Object Notation (JSON) file format.
  • a method of operating a system may be implemented by an electronic device 330 Receiving, by the network interface, information relating to the license to the electronic device (330); receiving, via the network interface, a request for authenticating a license through a network interface; performing an authentication of the license; Wherein the information includes permission to indicate at least one permitted function or component of the electronic device 330 and to permit the electronic device 330 to use
  • the at least one application comprises a service that represents at least one application program (325) And may be operated based on whether the service is permitted when the application program is downloaded.
  • the information may include an object including the permission and the service.
  • the object may be a JavaScript Object Notation (JSON) file format.
  • JSON JavaScript Object Notation
  • the object may include an ID, a state, an issue date, an expiration date, a license type, an upload time, or an upload frequency, As shown in FIG.
  • the server 320 includes at least one server (e.g., a portal server 321, a GSLB server 323, a license server 325) that provides the MDM, 320) comprises: receiving a request for a license key from the vendor 310 to build an MDM; generating a license key including the permission and the service corresponding to the request; and generating the generated license key To the vendor (310).
  • a portal server 321, a GSLB server 323, a license server 325 that provides the MDM, 320
  • the operation method of the electronic device 330 using the mobile device management (MDM) is a method of licensing through the network interface when the application program 325 is executed, To the server (320), and receiving, via the network interface from the server (320), information related to the license, the information including information about the electronic device (330)
  • the electronic device downloads the at least one application program and the application program During running it can be operated on the basis of whether or not to allow the said service.
  • the information may include an object including the permission and the service.
  • the object may be a JavaScript Object Notation (JSON) file format.
  • JSON JavaScript Object Notation
  • the object may include an ID, a state, an issue date, an expiration date, a license type, an upload time, or an upload frequency, As shown in FIG.
  • the license may be obtained from a vendor that receives and distributes the license from the server.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)

Abstract

Various embodiments of the present invention relate to a system for controlling a security service and an operating method thereof. According to various embodiments, a system may comprise: a network interface; at least one processor operatively connected to the network interface; and at least one memory operatively connected to the processor, wherein: the memory stores instructions that, when executed, cause the processor to receive a request for authentication of a license through the network interface from an electronic device to which MDM is applied, authenticate the license, and provide the electronic device with information related to the license through the network interface; the information comprises a permission indicating at least one allowed function or component of the electronic device and a service indicating at least one application program that the electronic device is allowed to use; and the electronic device downloads the at least one application program, and operates on the basis of whether the service is allowed during execution of the application program. Various embodiments are possible.

Description

보안 서비스 제어를 위한 시스템 및 그의 동작 방법SYSTEM AND METHOD FOR CONTROLLING SECURITY SERVICE
본 발명의 다양한 실시 예들은 보안 서비스(security service)를 제어하기 위한 시스템 및 그의 동작 방법에 관하여 개시한다.Various embodiments of the present invention disclose a system for controlling a security service and a method of operation thereof.
디지털 기술의 발달과 함께 이동통신 단말기, 스마트폰(smart phone), 태블릿(tablet) PC(personal computer), 노트북(notebook), PDA(personal digital assistant), 웨어러블 장치(wearable device), 디지털 카메라(digital camera) 또는 개인용 컴퓨터(personal computer) 등과 같은 다양한 유형의 전자 장치가 널리 사용되고 있다. (PDAs), wearable devices, digital cameras (personal digital assistants), personal digital assistants (PDAs), personal digital assistants various types of electronic devices such as a camera or a personal computer are widely used.
최근에는 정보통신기술(IT, information technology) 산업 발전이 가속화되면서 비즈니스(business) 환경도 급격히 변화하고 있다. 일 실시 예에 따르면, 최근 기업에서는 BYOD(bring your own device) 시스템을 도입하고 있다. BYOD는 기업에서 직원들의 개인용 스마트폰, 태블릿 PC, 노트북 등과 같은 전자 장치를 직장에서 업무에 활용 가능하도록 하는 것일 수 있다. 이는 기업 입장에서 비용 절감(예: 기기 구입 비용의 감소)의 장점이 있고, 직원들의 생산성을 향상시킬 수 있는 이점이 있다. 반면, BYOD 시스템에서는 사용자 개인의 전자 장치 사용 및 외부 이동성으로 인해, 업무 정보 유출 등의 기업 보안에 취약할 수 있다. 이에, 최근에는 모바일 단말 관리(MDM, mobile device management) 솔루션(solution)에 대한 관심, 연구 및 개발이 증가하고 있다.In recent years, as the information and communication technology (IT) industry development has accelerated, the business environment is also rapidly changing. According to one embodiment, a company recently introduced BYOD (bring your own device) system. BYOD can be a way for businesses to make electronic devices such as employees' personal smartphones, tablet PCs, laptops, etc. available for work at work. This has the advantage of being cost-effective (eg, reducing the cost of purchasing equipment) for the enterprise and has the advantage of improving employee productivity. On the other hand, the BYOD system may be vulnerable to corporate security such as leakage of business information due to the use of personal electronic devices and external mobility. Recently, interest, research and development on a mobile device management (MDM) solution have been increasing.
MDM은 전자 장치를 보호, 관리, 감시, 및 지원하는 일련의 과정을 의미할 수 있다. 예를 들면, MDM은, 전자 장치의 일부 기능을 기업의 IT 관리자가 중앙에서 통제하고 보안 정책(security policy)을 적용하도록 관리할 수 있는 솔루션을 나타낼 수 있다. MDM can refer to a series of processes to protect, manage, monitor, and support electronic devices. For example, MDM can represent a solution that enables some functions of electronic devices to be centrally controlled by enterprise IT managers and managed to enforce security policies.
일반적으로, 전자 장치에서 특정 어플리케이션이 보안된(또는 제한된) 기능(예: 기능에 대한 API(application programming interface))을 사용하려고 할 때, 해당 어플리케이션이 보안 기능에 관련된 권한(permission)을 가지고 있어야 사용이 가능할 수 있다. 만약, 어플리케이션이 권한이 없는 경우에는, 해당 어플리케이션은 라이선스를 활성화한 후에 보안된 기능(예: API)의 호출이 가능할 수 있다. 일 실시 예에 따라, 보안된 기능에 대한 API는 보안된 특징(feature)(또는 서비스(service)) 별로 각각 존재할 수 있다. 따라서 보안 솔루션이 적용되는 전자 장치에서는, 권한이 없는 어플리케이션에 대해, 각 특징(또는 서비스)을 사용하고자 할 때마다 라이선스를 활성화 하기 위한 복잡한 절차를 수행해야 하는 불편함이 있고, 이를 관리하기 위한 관리자의 로드(load)가 증가할 수 있다. In general, when a particular application in an electronic device attempts to use a secured (or restricted) function (e.g., an application programming interface (API) for a function), the application must have permission related to the security function May be possible. If the application is not authorized, the application may be able to invoke the secured function (eg API) after activating the license. According to one embodiment, an API for a secured function may exist for each secured feature (or service). Therefore, in an electronic device to which a security solution is applied, there is an inconvenience that complicated procedures for activating licenses must be performed every time a characteristic (or service) is to be used for an unauthorized application, May be increased.
다양한 실시 예들에서는, 모바일 단말 관리(MDM, mobile device management) 솔루션에서 보안 서비스(security service)를 제어하기 위한 보안 라이선스(security license)를 관리하는 라이선스 시스템 및 그의 제어 방법에 관하여 개시한다.In various embodiments, a licensing system for managing a security license for controlling a security service in a mobile device management (MDM) solution and a control method thereof are disclosed.
본 발명의 다양한 실시 예들에 따른 시스템은, 네트워크 인터페이스, 상기 네트워크 인터페이스에 동작적으로 연결된 적어도 하나의 프로세서, 및 상기 프로세서에 동작적으로(operatively) 연결된 적어도 하나의 메모리, 상기 메모리는, 실행 시에, 상기 프로세서가, MDM(mobile device management)이 적용되는 전자 장치로부터 상기 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 수신하고, 상기 라이선스의 인증을 수행하고, 및 상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 상기 전자 장치에 제공하도록 하는 인스트럭션들(instructions)을 저장하고, 상기 정보는, 상기 전자 장치의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램(application program)을 나타내는 서비스(service)를 포함하고, 상기 전자 장치는 상기 적어도 하나의 어플리케이션 프로그램을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작될 수 있다.A system according to various embodiments of the present invention includes a network interface, at least one processor operatively connected to the network interface, and at least one memory operatively coupled to the processor, Wherein the processor is configured to receive a request to authenticate a license through the network interface from an electronic device to which mobile device management (MDM) is applied, perform authentication of the license, The method comprising the steps of: storing instructions that allow the electronic device to provide information related to the license, the information including at least one permission or permission to specify at least one permitted function or component of the electronic device, ), And at least one Wherein the electronic device is operable to download the at least one application program and to operate based on whether the service is permitted when the application program is executed, have.
본 발명의 다양한 실시 예들에 따른 전자 장치는, 네트워크 인터페이스, 상기 네트워크 인터페이스에 동작적으로 연결된 적어도 하나의 프로세서, 및 상기 프로세서에 동작적으로 연결된 적어도 하나의 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 어플리케이션 프로그램(application program) 실행 시에, 상기 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 서버로 전송하고, 상기 서버로부터 상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 수신하도록 하는 인스트럭션들(instructions)을 저장하고, 상기 정보는, 상기 전자 장치의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램을 나타내는 서비스(service)를 포함하고, 상기 전자 장치는 상기 적어도 하나의 어플리케이션 프로그램을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작될 수 있다.An electronic device in accordance with various embodiments of the present invention includes a network interface, at least one processor operatively coupled to the network interface, and at least one memory operatively coupled to the processor, Wherein the processor, when executing an application program, transmits a request for authenticating a license through the network interface to the server, and from the server, via the network interface, information relating to the license Wherein the information includes permission to indicate at least one permitted function or component of the electronic device, and instructions for the electronic device to use At least one permitted application program The electronic device, comprising: a service (service) indicates may be operated at least one application download (download) the program and on the basis of whether or not to allow execution of the service to the application program.
본 발명의 다양한 실시 예들에 따른 시스템의 동작 방법은, MDM(mobile device management)이 적용되는 전자 장치로부터 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 수신하는 동작, 상기 라이선스의 인증을 수행하는 동작, 및 상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 상기 전자 장치에 제공하는 동작을 포함하고, 상기 정보는, 상기 전자 장치의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램(application program)을 나타내는 서비스(service)를 포함하고, 상기 전자 장치는 상기 적어도 하나의 어플리케이션 프로그램을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작될 수 있다.A method of operating a system in accordance with various embodiments of the present invention includes receiving a request to authenticate a license through a network interface from an electronic device to which mobile device management (MDM) is applied, performing authentication of the license And providing, via the network interface, information related to the license to the electronic device, the information including at least one permitted function or component of the electronic device, And at least one application program that is permitted to be used by the electronic device, the electronic device downloading the at least one application program, And when executing the application program, It may be operated on the basis of whether or not for.
본 발명의 다양한 실시 예들에 따른 전자 장치의 동작 방법은, 어플리케이션 프로그램(application program) 실행 시에, 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 서버로 전송하는 동작, 및 상기 서버로부터 상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 수신하는 동작을 포함하고, 상기 정보는, 상기 전자 장치의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램을 나타내는 서비스(service)를 포함하고, 상기 전자 장치는 상기 적어도 하나의 어플리케이션 프로그램을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작될 수 있다.An operation method of an electronic device according to various embodiments of the present invention includes an operation of transmitting a request for authenticating a license through a network interface to a server when an application program is executed, The method comprising: receiving, via a network interface, information related to the license, the information comprising: a permission indicating at least one permitted function or component of the electronic device; The electronic device comprising a service representative of at least one application program permitted to be used by the electronic device, the electronic device downloading the at least one application program and determining whether the service is permitted upon execution of the application program Based operation.
다양한 실시 예들에 따른 시스템 및 그의 동작 방법에 따르면, MDM(mobile device management) 솔루션을 적용하는 시스템에서, 서비스에 대한 이용을 제어하는 것이 가능할 수 있다. 다양한 실시 예들에 따르면, 퍼미션(permission)(또는 권한) 기반으로 제어하던 보안 기능의 범위를 서비스 기반으로 확대하여, 라이선스 시스템의 제어 범위를 확장할 수 있다. According to the system and method of operation according to various embodiments, it may be possible to control usage for a service in a system applying a mobile device management (MDM) solution. According to various embodiments, the range of the security function that is controlled based on the permission (or authority) can be extended to the service base, thereby extending the control range of the license system.
도 1은 다양한 실시 예들에 따른 네트워크 환경 내의 전자 장치의 블럭도이다.1 is a block diagram of an electronic device in a network environment in accordance with various embodiments.
도 2는 다양한 실시 예들에 따른 프로그램의 블록도이다.2 is a block diagram of a program according to various embodiments.
도 3은 다양한 실시 예들에 따른 시스템 구성의 예를 설명하기 위해 개략적으로 도시하는 도면이다.3 is a diagram schematically illustrating an example of a system configuration according to various embodiments.
도 4는 다양한 실시 예들에 따른 시스템에서 서비스 기반으로 라이선스를 제어하는 예를 설명하기 위해 도시하는 도면이다.4 is a diagram illustrating an example of controlling licenses on a service basis in a system according to various embodiments.
도 5는 다양한 실시 예들에 따른 시스템에서 서비스 기반으로 라이선스를 제어하는 예를 설명하기 위해 도시하는 도면이다.5 is a diagram illustrating an example of controlling a license based on a service in a system according to various embodiments.
도 6은 다양한 실시 예들에 따른 전자 장치의 동작을 도시하는 흐름도이다.6 is a flow chart illustrating operation of an electronic device according to various embodiments.
도 7은 다양한 실시 예들에 따른 제조사 서버의 동작을 도시하는 흐름도이다.7 is a flow chart illustrating operation of a manufacturer server in accordance with various embodiments.
도 8은 다양한 실시 예들에 따른 벤더 서버의 동작을 도시하는 흐름도이다.8 is a flow diagram illustrating operation of a vendor server in accordance with various embodiments.
도 9는 다양한 실시 예들에 따른 시스템에서 라이선스를 관리하는 동작을 도시하는 도면이다.9 is a diagram illustrating operations for managing licenses in a system according to various embodiments.
이하, 본 문서의 다양한 실시 예들이 첨부된 도면을 참조하여 기재된다. 실시 예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성 요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 그리고 본 발명에 개시된 실시 예는 개시된 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명에서 기재된 기술의 범위를 한정하는 것은 아니다. 따라서, 본 발명의 범위는, 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예들을 포함하는 것으로 해석되어야 한다.Hereinafter, various embodiments of the present document will be described with reference to the accompanying drawings. The embodiments and terminology used herein are not intended to limit the invention to the particular embodiments described in the specification, but are intended to cover various modifications, equivalents, and / or alternatives of the embodiments. Should be understood. In connection with the description of the drawings, like reference numerals may be used for similar components. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed. Accordingly, the scope of the present invention should be construed as including all modifications based on the technical idea of the present invention or various other embodiments.
도 1은 다양한 실시 예들에 따른 네트워크 환경(100) 내의 전자 장치(101)의 블럭도이다. 1 is a block diagram of an electronic device 101 in a network environment 100 in accordance with various embodiments.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제1 네트워크(198)(예: 근거리 무선 통신)를 통하여 전자 장치(102)와 통신하거나, 또는 제2 네트워크(199)(예: 원거리 무선 통신)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 및 안테나 모듈(197)을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치(101)에는, 이 구성 요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나 다른 구성 요소가 추가될 수 있다. 어떤 실시 예에서는, 예를 들면, 표시 장치(160)(예: 디스플레이)에 임베디드(embedded)된 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)의 경우와 같이, 일부의 구성 요소들이 통합되어 구현될 수 있다.1, an electronic device 101 in a network environment 100 communicates with an electronic device 102 via a first network 198 (e.g., near-field wireless communication) or a second network 199 (E. G., Remote wireless communication). ≪ / RTI > According to one embodiment, the electronic device 101 is capable of communicating with the electronic device 104 through the server 108. According to one embodiment, the electronic device 101 includes a processor 120, a memory 130, an input device 150, an audio output device 155, a display device 160, an audio module 170, a sensor module 176, an interface 177, a haptic module 179, a camera module 180, a power management module 188, a battery 189, a communication module 190, a subscriber identity module 196, and an antenna module 197 ). In some embodiments, at least one (e.g., display 160 or camera module 180) of these components may be omitted from the electronic device 101, or other components may be added. In some embodiments, for example, as in the case of a sensor module 176 (e.g., a fingerprint sensor, an iris sensor, or an illuminance sensor) embedded in a display device 160 Components can be integrated and implemented.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 구동하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성 요소(예: 하드웨어 또는 소프트웨어 구성 요소)를 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 프로세서(120)는 다른 구성 요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(volatile memory)(132)에 로드(load)하여 처리하고, 결과 데이터를 비휘발성 메모리(non-volatile memory)(134)에 저장할 수 있다. 일 실시 예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치(CPU, central processing unit) 또는 어플리케이션 프로세서(AP, application processor)), 및 이와는 독립적으로 운영되고, 추가적으로 또는 대체적으로, 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화된 보조 프로세서(123)(예: 그래픽 처리 장치(GPU, graphic processing unit), 이미지 시그널 프로세서(ISP, image signal processor), 센서 허브 프로세서(sensor hub processor), 또는 커뮤니케이션 프로세서(CP, communication processor))를 포함할 수 있다. 여기서, 보조 프로세서(123)는 메인 프로세서(121)와 별개로 또는 임베디드되어 운영될 수 있다. Processor 120 drives at least one other component (e.g., hardware or software component) of electronic device 101 that is coupled to processor 120 by driving software, e.g., program 140, And can perform various data processing and arithmetic operations. Processor 120 loads instructions and data received from other components (e.g., sensor module 176 or communications module 190) into a volatile memory 132 for processing, May be stored in a non-volatile memory (134). According to one embodiment, the processor 120 may include a main processor 121 (e.g., a central processing unit (CPU) or an application processor (AP)) and, independently, (E.g., a graphics processing unit (GPU), an image signal processor (ISP), a sensor hub, etc.) using a lower power than the main processor 121, A sensor hub processor, or a communication processor (CP)). Here, the coprocessor 123 may be operated separately from or embedded in the main processor 121.
이런 경우, 보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(inactive)(예: 슬립(sleep)) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(active)(예: 어플리케이션 수행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성 요소들 중 적어도 하나의 구성 요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시 예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부 구성 요소로서 구현될 수 있다.  In such a case, the coprocessor 123 may, for example, be on behalf of the main processor 121 while the main processor 121 is inactive (e.g., in a sleep state) At least one of the components of the electronic device 101 (e.g., the display device 160, the sensor), the main processor 121, (E.g., module 176, or communication module 190). According to one embodiment, the coprocessor 123 (e.g., an image signal processor or communications processor) is implemented as a component of some other functionally related component (e.g., camera module 180 or communication module 190) .
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성 요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 저장할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다. Memory 130 may store various data used by at least one component (e.g., processor 120 or sensor module 176) of electronic device 101, e.g., software (e.g., program 140) ), And input data or output data for the associated command. The memory 130 may include a volatile memory 132 or a non-volatile memory 134.
프로그램(140)은 메모리(130)에 저장되는 소프트웨어로서, 예를 들면, 운영 체제(OS, operating system)(142), 미들 웨어(middleware)(144) 또는 어플리케이션(146)을 포함할 수 있다. The program 140 may be software stored in the memory 130 and may include, for example, an operating system (OS) 142, a middleware 144,
입력 장치(150)는, 전자 장치(101)의 구성 요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신하기 위한 장치로서, 예를 들면, 마이크, 마우스, 또는 키보드 등을 포함할 수 있다. The input device 150 is an apparatus for receiving a command or data to be used for a component (e.g., processor 120) of the electronic device 101 from the outside (e.g., a user) of the electronic device 101, A microphone, a mouse, a keyboard, or the like.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력하기 위한 장치로서, 예를 들면, 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용되는 스피커와 전화 수신 전용으로 사용되는 리시버(receiver)를 포함할 수 있다. 일 실시 예에 따르면, 리시버는 스피커와 일체 또는 별도로 형성될 수 있다.The sound output device 155 is an apparatus for outputting a sound signal to the outside of the electronic device 101. For example, the sound output device 155 may include a speaker for general use such as a multimedia reproduction or a sound reproduction and a receiver receiver. According to one embodiment, the receiver may be formed integrally or separately with the speaker.
표시 장치(160)는 전자 장치(101)의 사용자에게 정보를 시각적으로 제공하기 위한 장치로서, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시 예에 따르면, 표시 장치(160)는 터치 회로(touch circuitry) 또는 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서(pressure sensor)(또는 포스 센서(force sensor))를 포함할 수 있다. Display device 160 may be an apparatus for visually providing information to a user of electronic device 101 and may include, for example, a display, a hologram device, or a projector and control circuitry for controlling the projector. According to one embodiment, the display device 160 may include a pressure sensor (or force sensor) capable of measuring the intensity of pressure on a touch circuitry or touch .
오디오 모듈(170)은 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 일 실시 예에 따르면, 오디오 모듈(170)은, 입력 장치(150)를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 유선 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)(예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.The audio module 170 is capable of bi-directionally converting sound and electrical signals. According to one embodiment, the audio module 170 may acquire sound through the input device 150, or may be connected to the audio output device 155, or to an external electronic device (e.g., Electronic device 102 (e.g., a speaker or headphone)).
센서 모듈(176)은 전자 장치(101)의 내부의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 센서 모듈(176)은, 예를 들면, 제스처 센서(gesture sensor), 자이로 센서(gyro sensor), 기압 센서(barometer sensor), 마그네틱 센서(magnetic sensor), 가속도 센서(acceleration sensor), 그립 센서(grip sensor), 근접 센서(proximity sensor), 컬러 센서(color sensor)(예: RGB(red, green, blue) 센서), IR(infrared) 센서, 생체 센서(medical sensor, biometric sensor), 온도 센서(temperature sensor), 습도 센서(humidity sensor), 또는 조도 센서(illuminance sensor) 등을 포함할 수 있다. The sensor module 176 may generate an electrical signal or data value corresponding to an internal operating state (e.g., power or temperature) of the electronic device 101, or an external environmental condition. The sensor module 176 may be, for example, a gesture sensor, a gyro sensor, a barometer sensor, a magnetic sensor, an acceleration sensor, a grip sensor a proximity sensor, a color sensor (e.g., an RGB (red, green, blue) sensor, an infrared (IR) sensor, a biomedical sensor, sensor, a humidity sensor, an illuminance sensor, and the like.
인터페이스(177)는 외부 전자 장치(예: 전자 장치(102))와 유선 또는 무선으로 연결할 수 있는 지정된 프로토콜(protocol)을 지원할 수 있다. 일 실시 예에 따르면, 인터페이스(177)는 HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD(secure digital) 카드 인터페이스, 또는 오디오 인터페이스 등을 포함할 수 있다.The interface 177 may support a designated protocol that can be wired or wirelessly connected to an external electronic device (e.g., the electronic device 102). According to one embodiment, the interface 177 may include a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface.
연결 단자(connection terminal)(178)는 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102))를 물리적으로 연결시킬 수 있는 커넥터, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터) 등을 포함할 수 있다.The connection terminal 178 may be a connector capable of physically connecting the electronic device 101 and an external electronic device such as the electronic device 102, for example, an HDMI connector, a USB connector, an SD card connector , Or an audio connector (e.g., a headphone connector).
햅틱 모듈(haptic module)(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 햅틱 모듈(179)은, 예를 들면, 모터(motor), 압전 소자(piezoelectric element), 또는 전기 자극 장치(electrical stimulation device) 등을 포함할 수 있다.The haptic module 179 may convert electrical signals into mechanical stimuli (e.g., vibrations or movements) or electrical stimuli that the user may perceive through a tactile or kinesthetic sense. The haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시 예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈, 이미지 센서, 이미지 시그널 프로세서, 또는 플래시를 포함할 수 있다.The camera module 180 can capture a still image and a moving image. According to one embodiment, the camera module 180 may include one or more lenses, an image sensor, an image signal processor, or a flash.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리하기 위한 모듈로서, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구성될 수 있다.The power management module 188 is a module for managing the power supplied to the electronic device 101, and may be configured as at least a part of, for example, a power management integrated circuit (PMIC).
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급하기 위한 장치로서, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지(fuel cell)를 포함할 수 있다.The battery 189 is an apparatus for supplying power to at least one component of the electronic device 101 and includes, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell .
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 유선 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되는, 유선 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함하고, 그 중 해당하는 통신 모듈을 이용하여 제1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN(wide area network))와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 상술한 여러 종류의 통신 모듈(190)은 하나의 칩으로 구현되거나 또는 각각 별도의 칩으로 구현될 수 있다. The communication module 190 is responsible for establishing a wired or wireless communication channel between the electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108) Lt; / RTI > Communication module 190 may include one or more communication processors that support wired communication or wireless communication, operating independently of processor 120 (e.g., an application processor). According to one embodiment, the communication module 190 may include a wireless communication module 192 (e.g., a cellular communication module, a short range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (E.g., a local area network (LAN) communication module, or a power line communication module), and the corresponding communication module may be used to communicate with a first network 198 (e.g., Bluetooth, WiFi direct, Communication network) or a second network 199 (e.g., a telecommunications network such as a cellular network, the Internet, or a computer network such as a LAN or wide area network (WAN)). The various types of communication modules 190 described above may be implemented as a single chip or may be implemented as separate chips.
일 실시 예에 따르면, 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 사용자 정보를 이용하여 통신 네트워크 내에서 전자 장치(101)를 구별 및 인증할 수 있다. According to one embodiment, the wireless communication module 192 may use the user information stored in the subscriber identification module 196 to identify and authenticate the electronic device 101 within the communication network.
안테나 모듈(197)은 신호 또는 전력을 외부로 송신하거나 외부로부터 수신하기 위한 하나 이상의 안테나들을 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(190)(예: 무선 통신 모듈(192))은 통신 방식에 적합한 안테나를 통하여 신호를 외부 전자 장치로 송신하거나, 외부 전자 장치로부터 수신할 수 있다. The antenna module 197 may include one or more antennas for externally transmitting or receiving signals or power. According to one embodiment, the communication module 190 (e.g., the wireless communication module 192) may transmit or receive signals to or from an external electronic device via an antenna suitable for the communication scheme.
상기 구성 요소들 중 일부 구성 요소들은 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input/output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되어 신호(예: 명령 또는 데이터)를 상호 간에 교환할 수 있다.Some of the components are connected to each other via a communication method (e.g., bus, general purpose input / output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI) (For example, commands or data) can be exchanged with each other.
일 실시 예에 따르면, 명령 또는 데이터는 제2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104) 간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. According to one embodiment, the command or data may be transmitted or received between the electronic device 101 and the external electronic device 104 via the server 108 connected to the second network 199. Each of the electronic devices 102 and 104 may be the same or a different kind of device as the electronic device 101. [
일 실시 예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 외부 전자 장치(102, 104)에서 실행될 수 있다. 일 실시 예에 따르면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 외부 전자 장치(102, 104)에게 요청할 수 있다. 상기 요청을 수신한 외부 전자 장치(102, 104)는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅(cloud computing), 분산 컴퓨팅(distributed computing), 또는 클라이언트-서버 컴퓨팅(client-server computing) 기술이 이용될 수 있다.According to one embodiment, all or a portion of the operations performed in the electronic device 101 may be performed in the other one or more of the plurality of external electronic devices 102,104. According to one embodiment, in the event that the electronic device 101 has to perform some function or service automatically or upon request, the electronic device 101 may be capable of executing the function or service itself, And may request the external electronic device 102, 104 to perform at least some functions associated therewith. The external electronic device 102, 104 receiving the request can execute the requested function or additional function and transmit the result to the electronic device 101. [ The electronic device 101 can directly or additionally process the received result to provide the requested function or service. For this purpose, for example, cloud computing, distributed computing, or client-server computing techniques may be used.
도 2는 다양한 실시 예들에 따른 프로그램(140)의 블록도(200)이다. 2 is a block diagram 200 of a program 140 in accordance with various embodiments.
일 실시 예에 따르면, 프로그램(140)은 전자 장치(101)의 하나 이상의 리소스(resource)들을 제어하기 위한 운영 체제(142), 미들 웨어(144), 또는 운영 체제(142) 상에서 실행 가능한 어플리케이션(146)을 포함할 수 있다. According to one embodiment, the program 140 includes an operating system 142 for controlling one or more resources of the electronic device 101, a middleware 144, or an application executable on the operating system 142 146 < / RTI >
운영 체제(142)는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM 등을 포함할 수 있다. 프로그램(140) 중 적어도 일부 프로그램은, 예를 들면, 제조 시에 전자 장치(101)에 프리로드(pre-load)되거나, 또는 사용자의 사용 환경에서 외부 전자 장치(예: 전자 장치(102 또는 104), 또는 서버(108))로부터 다운로드(download)되거나 갱신(update) 될 수 있다.The operating system 142 may include, for example, Android TM , iOS TM , Windows TM , Symbian TM , Tizen TM , or Bada TM . At least some of the programs 140 may be pre-loaded into the electronic device 101 at the time of manufacture, or may be pre-loaded in the user's environment by external electronic devices such as electronic devices 102 or 104 (E.g., server 108, or server 108).
운영 체제(142)는 전자 장치(101)의 시스템 리소스(예: 프로세스, 메모리, 또는 전원)를 제어(예: 할당 또는 회수)할 수 있다. 운영 체제(142)는, 추가적으로 또는 대체적으로, 전자 장치(101)의 다른 하드웨어 디바이스, 예를 들면, 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 구동하기 위한 하나 이상의 드라이버 프로그램(driver program)들을 포함할 수 있다.The operating system 142 may control (e.g., allocate or recover) system resources (e.g., processes, memory, or power) of the electronic device 101. The operating system 142 may additionally or alternatively include other hardware devices of the electronic device 101 such as an input device 150, an audio output device 155, a display device 160, an audio module 170, A sensor module 176, an interface 177, a haptic module 179, a camera module 180, a power management module 188, a battery 189, a communication module 190, a subscriber identification module 196, And one or more driver programs for driving the antenna module 197.
미들 웨어(144)는 어플리케이션(146)이 전자 장치(101)의 하나 이상의 리소스들이 제공하는 기능 또는 정보를 사용할 수 있도록 다양한 기능들을 어플리케이션(146)으로 제공할 수 있다. 미들 웨어(144)는, 예를 들면, 어플리케이션 매니저(application manager)(201), 윈도우 매니저(window manager)(203), 멀티미디어 매니저(multimedia manager)(205), 리소스 매니저(resource manager)(207), 파워 매니저(power manager)(209), 데이터베이스 매니저(database manager)(211), 패키지 매니저(package manager)(213), 커넥티비티 매니저(connectivity manager)(215), 노티피케이션 매니저(notification manager)(217), 로케이션 매니저(location manager)(219), 그래픽 매니저(graphic manager)(221), 시큐리티 매니저(security manager)(223), 통화 매니저(telephony manager)(225), 또는 음성 인식 매니저(speech recognition manager)(227) 등을 포함할 수 있다. The middleware 144 may provide various functions to the application 146 so that the application 146 may use the functions or information provided by the one or more resources of the electronic device 101. [ The middleware 144 includes an application manager 201, a window manager 203, a multimedia manager 205, a resource manager 207, A power manager 209, a database manager 211, a package manager 213, a connectivity manager 215, a notification manager (not shown) 217, a location manager 219, a graphic manager 221, a security manager 223, a telephony manager 225, or a speech recognition manager 227, and the like.
어플리케이션 매니저(201)는, 예를 들면, 어플리케이션(146)의 생명 주기(life cycle)를 관리할 수 있다. 윈도우 매니저(203)는, 예를 들면, 화면에서 사용되는 GUI(graphical user interface) 자원을 관리할 수 있다. 멀티미디어 매니저(205)는, 예를 들면, 미디어 파일들의 재생에 필요한 포맷(format)을 파악하고, 해당 포맷에 맞는 코덱(CODEC)을 이용하여 미디어 파일의 인코딩 또는 디코딩을 수행할 수 있다. 리소스 매니저(207)는, 예를 들면, 어플리케이션(146)의 소스 코드 또는 메모리의 공간을 관리할 수 있다. The application manager 201 can manage the life cycle of the application 146, for example. The window manager 203 can manage GUI (graphical user interface) resources used in the screen, for example. The multimedia manager 205 can recognize a format required for playback of media files and perform encoding or decoding of the media file using a codec suitable for the format. The resource manager 207 can manage, for example, the source code of the application 146 or the space of the memory.
파워 매니저(209)는, 예를 들면, 배터리의 용량, 온도 또는 전원을 관리하고, 이 중 해당 정보를 이용하여 전자 장치(101)의 동작에 필요한 전력 정보를 결정 또는 제공할 수 있다. 일 실시 예에 따르면, 파워 매니저(209)는 바이오스(BIOS, basic input/output system)와 연동할 수 있다.The power manager 209 manages the capacity, the temperature, or the power supply of the battery, for example, and can determine or provide the power information necessary for the operation of the electronic device 101 by using the information among them. According to one embodiment, the power manager 209 can interface with a basic input / output system (BIOS).
데이터베이스 매니저(211)는, 예를 들면, 어플리케이션(146)에서 사용될 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저(213)는, 예를 들면, 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 갱신을 관리할 수 있다. 커넥티비티 매니저(215)는, 예를 들면, 전자 장치(101)와 외부 전자 장치 간의 무선 또는 유선 연결을 관리할 수 있다. 노티피케이션 매니저(217)는, 예를 들면, 발생된 이벤트(예: 통화, 메시지, 또는 알람)를 사용자에게 알리기 위한 기능을 제공할 수 있다. 로케이션 매니저(219)는, 예를 들면, 전자 장치(101)의 위치 정보를 관리할 수 있다. 그래픽 매니저(221)는, 예를 들면, 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 시큐리티 매니저(223)는, 예를 들면, 시스템 보안 또는 사용자 인증을 제공할 수 있다. 통화 매니저(225)는, 예를 들면, 전자 장치(101)의 음성 통화 또는 영상 통화 기능을 관리할 수 있다. 음성 인식 매니저(227)는, 예를 들면, 사용자의 음성 데이터를 서버(108)로 전송하고, 해당 음성 데이터에 기반하여 전자 장치(101)에서 수행될 기능에 대응하는 명령어(command) 또는 해당 음성 데이터에 기반하여 변환된 문자 데이터를 수신할 수 있다. The database manager 211 may create, retrieve, or modify the database to be used in the application 146, for example. The package manager 213 can manage installation or update of an application distributed in the form of a package file, for example. The connectivity manager 215 can manage, for example, a wireless or wired connection between the electronic device 101 and an external electronic device. The notification manager 217 may provide a function for notifying a user of, for example, a generated event (e.g., a call, a message, or an alarm). The location manager 219 can manage the location information of the electronic device 101, for example. The graphic manager 221 may manage, for example, a graphical effect to be provided to the user or a user interface associated therewith. The security manager 223 may provide, for example, system security or user authentication. The call manager 225 can manage, for example, a voice call or a video call function of the electronic device 101. [ The voice recognition manager 227 transmits the voice data of the user to the server 108 and transmits a command corresponding to the function to be performed in the electronic device 101 or a corresponding voice The converted character data can be received based on the data.
일 실시 예에 따르면, 미들 웨어(244)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. 일 실시 예에 따르면, 미들 웨어(144)의 적어도 일부는 운영 체제(142)의 일부로 포함되거나, 또는 운영 체제(142)와는 별도의 소프트웨어로 구현될 수 있다.According to one embodiment, the middleware 244 may dynamically delete some existing components or add new ones. According to one embodiment, at least some of the middleware 144 may be included as part of the operating system 142, or may be implemented in software separate from the operating system 142.
어플리케이션(146)은, 예를 들면, 홈(251), 다이얼러(253), SMS/MMS(255), IM(instant message)(257), 브라우저(259), 카메라(261), 알람(263), 컨택트(265), 음성 인식(267), 이메일(269), 달력(271), 미디어 플레이어(273), 앨범(275), 와치(277), 헬스(279)(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보(281)(예: 기압, 습도, 또는 온도 정보) 어플리케이션을 포함할 수 있다. The application 146 includes a home 251, a dialer 253, an SMS / MMS 255, an instant message 257, a browser 259, a camera 261, an alarm 263, Contact 265, voice recognition 267, email 269, calendar 271, media player 273, album 275, watch 277, health 279 (e.g., Measurement), or environmental information 281 (e.g., pressure, humidity, or temperature information) applications.
일 실시 예에 따르면, 어플리케이션(146)은 전자 장치(101)와 외부 전자 장치 사이의 정보 교환을 지원할 수 있는 정보 교환 어플리케이션(미도시)을 더 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치로 지정된 정보(예: 통화, 메시지, 또는 알람)를 전달하기 위한 노티피케이션 릴레이 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리 어플리케이션을 포함할 수 있다. According to one embodiment, the application 146 may further include an information exchange application (not shown) capable of supporting the exchange of information between the electronic device 101 and an external electronic device. The information exchange application may include, for example, a notification relay application for communicating information (e.g., a call, a message, or an alarm) designated as an external electronic device, or a device management application for managing an external electronic device have.
노티피케이션 릴레이 어플리케이션은, 예를 들면, 전자 장치(101)의 다른 어플리케이션(예: 이메일 어플리케이션(269))에서 발생된 이벤트(예: 메일 수신)에 대응하는 알림 정보를 외부 전자 장치로 전달하거나, 또는 외부 전자 장치로부터 알림 정보를 수신하여 전자 장치(101)의 사용자에게 제공할 수 있다. The notification relay application transmits notification information corresponding to an event (e.g., mail reception) generated in another application (e.g., an email application 269) of the electronic device 101 to an external electronic device , Or receive notification information from an external electronic device and provide it to the user of the electronic device 101. [
장치 관리 어플리케이션은, 예를 들면, 전자 장치(101)와 통신하는 외부 전자 장치 또는 그 일부 구성 요소(예: 표시 장치(160) 또는 카메라 모듈(180))의 전원(예: 턴-온(turn-on) 또는 턴-오프(turn-off)) 또는 기능(예: 표시 장치(160) 또는 카메라 모듈(180)의 밝기, 해상도, 또는 포커스)을 제어할 수 있다. 장치 관리 어플리케이션은, 추가적으로 또는 대체적으로, 외부 전자 장치에서 동작하는 어플리케이션의 설치, 삭제, 또는 갱신을 지원할 수 있다.The device management application may be used to control the power (e.g., turn on) of an external electronic device that communicates with the electronic device 101 or some of its components (e.g., the display device 160 or the camera module 180) (e.g., brightness, resolution, or focus of the display device 160 or the camera module 180) of the display device 160 or the display device 160 or the turn-off of the display device 160 or the turn-off of the display device 160 or the camera module 180. The device management application may additionally or alternatively support the installation, deletion, or update of an application running on an external electronic device.
본 문서에 개시된 다양한 실시 예들에 따른 전자 장치(101)는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치 중 적어도 하나를 포함할 수 있다. 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.The electronic device 101 according to the various embodiments disclosed herein can be various types of devices. The electronic device can include, for example, at least one of a portable communication device (e.g., a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance. The electronic device according to the embodiment of the present document is not limited to the above-described devices.
본 문서에 개시된 다양한 실시 예들에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성 요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성 요소를 다른 구성 요소와 구분하기 위해 사용될 뿐 해당 구성 요소들을 한정하지 않는다. 어떤(예: 제1) 구성 요소가 다른(예: 제2) 구성 요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 어떤 구성 요소가 다른 구성 요소에 직접적으로 연결되거나, 다른 구성 요소(예: 제3 구성 요소)를 통하여 연결될 수 있다.In the various embodiments disclosed herein, the singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise. In this document, the expressions "A or B," "at least one of A and / or B," "A, B or C," or "at least one of A, B, and / Possible combinations. Expressions such as "first", "second", "first" or "second" may be used to qualify the components, regardless of order or importance, and to distinguish one component from another And does not limit the constituent elements. When it is mentioned that some (e.g., first) component is "(functionally or communicatively) connected" or "connected" to another (second) component, Or may be connected through other components (e.g., a third component).
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어(firmware)로 구성된 유닛(unit)을 포함하며, 예를 들면, 로직(logic), 논리 블록(logic block), 부품(component), 또는 회로(circuit) 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다. As used herein, the term " module " includes a unit of hardware, software, or firmware and may include, for example, logic, a logic block, Circuits, and the like. A module may be an integrally constructed component or a minimum unit or part thereof that performs one or more functions. For example, the module may be configured as an application-specific integrated circuit (ASIC).
본 문서의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 명령어(instruction)를 포함하는 소프트웨어(예: 프로그램(140))로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(101))를 포함할 수 있다. 명령어가 프로세서(예: 프로세서(120))에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성 요소들을 이용하여 명령어에 해당하는 기능을 수행할 수 있다. 명령어는 컴파일러(compiler) 또는 인터프리터(interpreter)에 의해 생성 또는 실행되는 코드(code)를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장 매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.Various embodiments of the present document may include instructions stored in machine-readable storage media (e.g., internal memory 136 or external memory 138) readable by a machine (e.g., a computer) (E. G., Program 140). ≪ / RTI > The device may include an electronic device (e.g., electronic device 101) in accordance with the disclosed embodiments as an apparatus that is operable to invoke stored instructions from the storage medium and act upon the called instructions. When an instruction is executed by a processor (e.g., processor 120), the processor may perform functions corresponding to the instruction, either directly or using other components under the control of the processor. The instructions may include code generated or executed by a compiler or an interpreter. A device-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-temporary' means that the storage medium does not include a signal and is tangible, but does not distinguish whether data is stored semi-permanently or temporarily on the storage medium.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: CD-ROM, compact disc read only memory)의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, a method according to various embodiments disclosed herein may be provided in a computer program product. A computer program product can be traded between a seller and a buyer as a product. The computer program product may be distributed in the form of a machine-readable storage medium (eg CD-ROM, compact disc read only memory) or online via an application store (eg PlayStore ). In the case of on-line distribution, at least a portion of the computer program product may be temporarily stored, or temporarily created, on a storage medium such as a manufacturer's server, a server of an application store, or a memory of a relay server.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예들에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.Each of the components (e.g., modules or programs) according to various embodiments may be comprised of a single entity or a plurality of entities, and some subcomponents of the aforementioned subcomponents may be omitted, or other subcomponents may be various May be further included in the embodiments. Alternatively or additionally, some components (e.g., modules or programs) may be integrated into a single entity to perform the same or similar functions performed by each respective component prior to integration. Operations performed by a module, program, or other component, in accordance with various embodiments, may be performed sequentially, in a parallel, repetitive, or heuristic manner, or at least some operations may be performed in a different order, Can be added.
도 3은 다양한 실시 예들에 따른 시스템 구성의 예를 설명하기 위해 개략적으로 도시하는 도면이다.3 is a diagram schematically illustrating an example of a system configuration according to various embodiments.
도 3에 도시한 바와 같이, 다양한 실시 예들에 따른 시스템(300)은, 벤더(vendor)(310), 제조사 서버(manufacturer server)(예: Samsung server)(320), 전자 장치(330) 등을 포함할 수 있다. 3, a system 300 according to various embodiments includes a vendor 310, a manufacturer server (e.g., a Samsung server) 320, an electronic device 330, .
도 3은 다양한 실시 예들에 따른 시스템(300)에서 서비스 기반의 라이선스를 제공하는 것과 관련된 기능 처리 모듈의 예를 나타낼 수 있다. 다양한 실시 예들에서, 기능 처리 모듈은, 각각의 구성 요소(예: 벤더(310), 제조사 서버(320), 전자 장치(330))에 포함될 수 있다. 다양한 실시 예들에 따르면, 벤더(310), 제조사 서버(320), 전자 장치(330)는, 상호 간에 라이선스를 제공하는 것과 관련된 동작(예: 라이선스 요청, 생성, 등록, 전송 또는 수신 등)을 처리하기 위한 다양한 하드웨어 모듈(예: 도 1에 도시된 전자 장치(101)의 구성 요소들에 대응하는 적어도 일부 구성 요소들)을 더 포함할 수 있다. 예를 들면, 도시하지는 않았으나, 벤더(310), 제조사 서버(320), 전자 장치(330)는, 상호 간에 무선 통신을 위한 네트워크 인터페이스(network interface), 네트워크 인터페이스에 동작적으로 연결된(operatively connected) 적어도 하나의 프로세서, 및 프로세서에 동작적으로 연결된 적어도 하나의 메모리를 각각 포함할 수 있다.3 illustrates an example of a functional processing module associated with providing a service-based license in a system 300 in accordance with various embodiments. In various embodiments, the functional processing module may be included in each component (e.g., vendor 310, manufacturer server 320, electronic device 330). According to various embodiments, the vendor 310, the manufacturer server 320, and the electronic device 330 process (e.g., request for licenses, generate, register, transmit, or receive) operations related to providing licenses to each other (E.g., at least some of the components corresponding to the components of the electronic device 101 shown in FIG. 1). For example, although not shown, the vendor 310, the manufacturer server 320, and the electronic device 330 may include a network interface for wireless communication with each other, a network interface operatively connected to the network interface, At least one processor, and at least one memory operatively coupled to the processor, respectively.
도 3을 참조하면, 다양한 실시 예들에서, 벤더(310)는, 예를 들면, MDM을 사용하고자 하는 사업자(벤더)에서 제공(또는 구현)된 모듈을 나타낼 수 있다. 예를 들면, 벤더(310)는 전자 장치(330)(예: 도 1의 전자 장치(101))의 제조사로부터 제공되는 MDM API를 이용하여 서비스를 제공하고, 사업체에 MDM 솔루션을 구축하는 벤더(vendor)(예: 3rd party, 또는 사업자)의 모듈(또는 서버 포함)을 포함할 수 있다. 일 실시 예에 따라, 벤더(310)는 MDM 서버(311) 등을 포함할 수 있다.Referring to FIG. 3, in various embodiments, vendor 310 may represent a module provided (or implemented) by, for example, a vendor (vendor) that intends to use MDM. For example, the vendor 310 may provide services using the MDM API provided by the manufacturer of the electronic device 330 (e.g., the electronic device 101 of FIG. 1), a vendor that builds an MDM solution in the business (or server) of a vendor (e.g., a third party, or a carrier). According to one embodiment, the vendor 310 may include an MDM server 311 or the like.
일 실시 예에 따라, MDM 서버(311)는 전자 장치(330)를 관리하는 애드민 서비스(administration service)로서, 전자 장치(330) 및 기타 MDM 관련 시스템의 환경 설정을 변경하거나, 또는 보안 소프트웨어 배포 및 패치를 적용할 수 있다. MDM 서버(311)는 관리자에 의하여 수립된 보안 정책을 저장할 수 있다. MDM 서버(311)는 수립된 보안 정책에 기반하여 위배되는 권한을 통제할 수 있다. 예를 들면, MDM 서버(311)는 전자 장치(330)의 카메라 관련 API 권한을 제한하거나, 전자 장치(330)의 동작을 모니터링(monitoring) 할 수 있다.According to one embodiment, the MDM server 311 is an administration service that manages the electronic device 330 and may change the configuration of the electronic device 330 and other MDM related systems, Patches can be applied. The MDM server 311 may store the security policy established by the administrator. The MDM server 311 can control the violation rights based on the established security policy. For example, the MDM server 311 may limit the camera-related API permissions of the electronic device 330 or may monitor the operation of the electronic device 330.
MDM 서버(311)는 엔터프라이즈(enterprise)를 위한 키(key)를 필요로 하며, 전자 장치(330)의 MDM 클라이언트(337)로 라이선스 키(license key)를 푸시(push)할 수 있다. 일 실시 예에 따라, 라이선스 키는, 인증을 위한 키, 식별을 위한 키, 요구되는 소프트웨어 개발 키트(SDK, software development kit) 정보, 또는 권한 정보 중 적어도 하나를 포함할 수 있다. 일 실시 예에 따라, MDM 서버(311)는 웹 포털(예: 제조사 서버(320)의 포털 서버(321))을 통해 신청 및 획득할 수 있다. MDM 서버(311)의 구체적인 동작과 관련하여 후술하는 도면을 참조하여 설명된다.The MDM server 311 needs a key for the enterprise and may push the license key to the MDM client 337 of the electronic device 330. [ According to one embodiment, the license key may include at least one of a key for authentication, a key for identification, required software development kit (SDK) information, or authorization information. According to one embodiment, the MDM server 311 may apply and obtain via a web portal (e.g., the portal server 321 of the manufacturer server 320). The detailed operation of the MDM server 311 will be described with reference to the following drawings.
다양한 실시 예들에서, 제조사 서버(320)는 MDM 솔루션을 제공하는 서버일 수 있으며, 예를 들면, 전자 장치(330)의 제조사일 수 있다. 다양한 실시 예들에서, 제조사 서버(320)는 MDM 솔루션을 특정 사업체(예: 벤더(310))에게 SDK 및 라이선스 키를 제공할 수 있다. 일 실시 예에 따라, 제조사 서버(320)는 포털 서버(portal server)(321), GSLB(global server load balancing) 서버(323), 및 라이선스 서버(license server)(325) 등을 포함할 수 있다.In various embodiments, the manufacturer server 320 may be a server that provides an MDM solution, for example, a manufacturer of the electronic device 330. In various embodiments, the manufacturer server 320 may provide the SDK and license key to a particular business (e.g., vendor 310) with the MDM solution. According to one embodiment, the manufacturer server 320 may include a portal server 321, a global server load balancing (GSLB) server 323, and a license server 325 .
일 실시 예에 따라, 포털 서버(321)는 전자 장치(330) 내의 보안 기능(예: Knox 기능)을 제공하는 SDK와, 라이선스를 발급할 수 있다. 예를 들면, 포털 서버(321)는 EAP(enterprise alliance program)와 라이선스 매니저(LM, license manager)를 포함할 수 있다. 일 실시 예에 따라, SEAP는 전자 장치(330) 내의 보안 기능을 위한 SDK를 제공하며, 개발자는 SDK를 통해 더욱 안전하며 차별화된 엔터프라이즈 솔루션을 만들 수 있다. 일 실시 예에 따라, 라이선스 매니저는 라이선스를 발급할 수 있다.According to one embodiment, the portal server 321 may issue a license with an SDK that provides security functions (e.g., a Knox function) within the electronic device 330. For example, the portal server 321 may include an enterprise alliance program (EAP) and a license manager (LM). According to one embodiment, the SEAP provides an SDK for security functions within the electronic device 330, which allows the developer to create a more secure and differentiated enterprise solution via the SDK. According to one embodiment, the license manager may issue licenses.
일 실시 예에 따라, GSLB 서버(323)는 전자 장치(330)(예: 라이선스 클라이언트(license client)(331)에게 적합한 라이선스 서버(예: 도 3의 라이선스 서버(325))의 주소를 반환할 수 있다. 예를 들면, GSLB 서버(323)는, 서버 부하 분산(예: server/site load balancing), 전자 장치(330)에 빠른 서비스 응답(예: low latency by network proximity), 또는 전자 장치(330)가 가까운 서버로 접속(예: nearest by geographic proximity) 등을 고려하여 전자 장치(330)에게 가장 적합한 라이선스 서버를 제공할 수 있다.According to one embodiment, the GSLB server 323 may return the address of a license server (e.g., license server 325 of FIG. 3) that is appropriate for the electronic device 330 (e.g., a license client 331) (E.g., server / site load balancing), a fast service response (e.g., low latency by network proximity) to the electronic device 330, or an electronic device 330 may provide the most suitable license server to the electronic device 330 considering the proximity to the nearest server (e.g. nearest by geographic proximity).
일 실시 예에 따라, 라이선스 서버(325)는 라이선스 키를 관리하고 저장하는 서버를 포함할 수 있다.According to one embodiment, the license server 325 may include a server for managing and storing license keys.
다양한 실시 예들에서, 전자 장치(330)(예: 도 1의 전자 장치(101))는 특정 어플리케이션을 다운로드 하며, 다운로드된 어플리케이션을 인스톨(install)할 수 있다. 다양한 실시 예들에 따라, 전자 장치(330)는 소정의 OS(operating system)에 기반하여 구동될 수 있으며, OS 구동 방식에 기반하여 어플리케이션을 관리할 수 있다. 예를 들면, 전자 장치(330)는 AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, BadaTM, 블랙베리(blackberryTM) 등과 같이 다양한 OS 구동 방식에 기반하여 어플리케이션을 관리할 수 있다. 다양한 실시 예들에서, 어플리케이션은 다양한 OS에서 실행될 수 있는 프로그램(program), 서비스(service), 또는 기능(function) 등을 총칭하는 의미를 포함할 수 있다.In various embodiments, the electronic device 330 (e.g., the electronic device 101 of FIG. 1) may download a particular application and install the downloaded application. According to various embodiments, the electronic device 330 may be driven based on a predetermined operating system (OS) and may manage the application based on the OS driving method. For example, the electronic device 330 can manage applications based on various operating systems such as Android TM , iOS TM , Windows TM , Symbian TM , Tizen TM , Bada TM , and BlackBerry TM . In various embodiments, an application may include a generic meaning of a program, service, or function that may be executed on various operating systems.
다양한 실시 예들에 따라, 전자 장치(330)는 벤더(310)(예: MDM 서버(311))에 의하여 수립된 보안 정책에 기반하여, 어플리케이션(335)이 요구하는 API 권한 중 일부 권한의 제공을 제한할 수 있다. 이에 따라, 전자 장치(330)의 사용자는 MDM 솔루션 하에서 어플리케이션(335)의 허용된 일부 기능만을 이용할 수 있으며(또는 일부 기능을 이용할 수 없게 되며), 사업체(또는 사내)의 보안이 강화될 수 있다. 일 실시 예에 따라, 전자 장치(330)는 MDM 솔루션에 의하여 초기에 허용된 API 권한을 영구적으로 이용하지 않을 수 있다. 예를 들면, 전자 장치(330)는 라이선스 키(license key)의 유효 여부를 주기적 또는 비주기적으로 제조사 서버(320)(또는 전자 장치(330) 제조사의 서버)에 문의할 수 있다. 전자 장치(330)는 제조사 서버(320)로부터 라이선스 키의 유효 여부에 따라 응답된 RO(right object)에 기반하여 허용하는 API 권한을 재설정할 수도 있다.According to various embodiments, the electronic device 330 may provide some of the API rights required by the application 335, based on the security policy established by the vendor 310 (e.g., MDM server 311) Can be limited. Accordingly, the user of the electronic device 330 can only use some of the allowed functions of the application 335 (or make some functions unavailable) under the MDM solution, and the security of the business (or in-house) can be enhanced . According to one embodiment, the electronic device 330 may not permanently utilize API privileges initially granted by the MDM solution. For example, the electronic device 330 may periodically or aperiodically query the manufacturer server 320 (or the server of the manufacturer of the electronic device 330) whether the license key is valid. The electronic device 330 may re-establish the API rights that are granted based on the right object (RO) that is answered according to the validity of the license key from the manufacturer server 320.
일 실시 예에 따라, 전자 장치(330)는 라이선스 클라이언트(license client)(331), 프레임워크(예: MDM framework)(333), 서비스(service)(335), 및 MDM 클라이언트(337) 등을 포함할 수 있다. According to one embodiment, the electronic device 330 includes a license client 331, a framework (e.g., MDM framework) 333, a service 335, and an MDM client 337, .
일 실시 예에 따라, MDM 클라이언트(337)는 전자 장치(330)와 MDM 서버(311) 사이에서 상호작용(interaction) 하는 클라이언트를 나타낼 수 있다. 일 실시 예에 따라, MDM 클라이언트(337)는 라이선스를 활성화 하고 기능(feature)을 사용할 수 있다.According to one embodiment, the MDM client 337 may represent a client that interacts between the electronic device 330 and the MDM server 311. According to one embodiment, the MDM client 337 may activate licenses and use features.
일 실시 예에 따라, 라이선스 클라이언트(331)는 전자 장치(330) 내에서 라이선스를 인증하는 모듈을 포함할 수 있다. 일 실시 예에 따라, 프레임워크(333)는 전자 장치(330) 내에서 다양한 Feature(예: Knox/MDM Feature)를 제공하는 프레임워크를 나타낼 수 있다. 일 실시 예에 따라, 서비스(335)는 전자 장치(330) 내에서 제공하는 Feature(예: Knox Feature)를 나타낼 수 있다.According to one embodiment, the license client 331 may include a module for authenticating licenses within the electronic device 330. According to one embodiment, the framework 333 may represent a framework that provides various features (e.g., Knox / MDM Feature) within the electronic device 330. According to one embodiment, the service 335 may represent a Feature (e.g., a Knox Feature) provided within the electronic device 330.
이하에서는, 퍼미션 기반으로 제어하던 Feature의 범위를 서비스 기반으로 확대하여, 라이선스 시스템의 제어 범위를 확장하는 시나리오와 관련하여 설명한다. 예를 들면, 이하에서는 다양한 서비스들을 예시로 라이선스 시스템의 동작 예를 살펴보기로 한다. 다양한 실시 예들에 따르면, 현재 라이선스로 제어될 수 있도록 요구되는 서비스 리스트(service list)(예: Knox 서비스 리스트)가 제공될 수 있다. 다양한 실시 예들에서, 서비스 리스트에 포함되는 서비스들로는, 예를 들면, 삼성 포커스(Samsung Focus) 또는 E-FOTA(enterprise FOTA) 등과 같은 보안 서비스(예: Knox 서비스) 이외에도, S-browser(Samsung browser), Tachyon 서비스 등, 제조사의 전자 장치(101) 내에서 제공하는 B2B 어플리케이션 등을 포함할 수 있다.Hereinafter, a description will be given with respect to a scenario in which the range of the feature controlled based on the permission is expanded to the service base and the control range of the license system is extended. For example, an operation example of the license system will be described below as an example of various services. According to various embodiments, a service list (e.g., a Knox service list) that is required to be controlled with the current license may be provided. In various embodiments, the services included in the service list include, for example, a S-browser (Samsung browser) in addition to a security service (e.g., Knox service) such as Samsung Focus or E-FOTA , A Tachyon service or the like, a B2B application provided in the manufacturer's electronic device 101, and the like.
다양한 실시 예들에 따르면, 사용자가 어플리케이션 또는 어플리케이션의 서비스(예: Knox Service)를 사용하려는 시점에, 전자 장치(330)의 프레임워크(333)(예: MDM Framework)에서 제공하는 API를 사용하여, 해당 서비스가 전자 장치(330)에 허용 가능한 지 확인할 수 있다. 예를 들어, API 의 콜백 값(callback value)으로 트루(true)가 반환되면, 해당 서비스를 수행할 수 있고, API의 콜백 값으로 폴스(false)가 반환되면 해당 서비스를 수행하지 않을 수 있다.According to various embodiments, using the API provided by the framework 333 (e.g., MDM Framework) of the electronic device 330 at the point in time when the user wants to use the service of the application or application (e.g., Knox Service) It is possible to confirm whether the service is allowed in the electronic device 330. [ For example, if the callback value of the API returns true, the service can be executed. If the API callback value returns false, the service may not be executed.
일 실시 예에 따르면, 특정 어플리케이션(예: 삼성 포커스(Samsung Focus) 어플리케이션, 타키온(Tachyon) 어플리케이션 등)의 경우, 무료 기능(또는 공개 기능)과 유료 기능(또는 보안 기능)(예: Samsung Focus Pro)이 구분되거나, 하나의 어플리케이션에서 제공할 수 있다. 또는 특정 어플리케이션 자체가 서비스(예: 보안 어플리케이션(예: Tachyon 어플리케이션 등)으로 제공될 수 있다. 따라서, 사용자에 의해 MDM 클라이언트(337)가 어플리케이션(335)의 유료 기능(또는 보안 기능)에서 제공하는 서비스(예: 보안 서비스로, 예를 들면, Knox service)를 수행하려는 시점에, 어플리케이션(335)이 내부에서 MDM API로 해당 서비스(예: 유료(또는 보안) 기능에 관련된 서비스)를 허용하고 있는지 여부를 확인한 후, 다음 단계를 진행할 수 있다. 만약, 전자 장치(330)에 관련 라이선스(예: 어플리케이션(335)에 관련하여 인증된 라이선스)가 활성화 되어 있는 상태이고, 라이선스가 해당 서비스를 포함하는 라이선스이면, 트루(true)가 반환될 수 있고, 라이선스가 해당 서비스를 포함하지 않는 라이선스이면, 폴스(false)가 반환될 수 있다. 일 실시 예에 따라, 트루가 반환되는 것에 기반하여, 사용자는 전자 장치(330)를 이용하여 특정 어플리케이션에서 유료 기능(또는 보안 기능)을 사용할 수 있다. 이를 처리하는 구체적인 동작 예가 도 4에 도시된다.According to one embodiment, for a particular application (e.g., a Samsung Focus application, a Tachyon application, etc.), a free function (or open function) and a paid function (or security function) ), Or can be provided by a single application. Or the specific application itself may be provided as a service (e.g., a secure application such as a Tachyon application). Thus, the MDM client 337 may be provided by the user to a payload (or security function) The application 335 internally grants the corresponding service (e.g., a service related to the paid (or security) function) to the MDM API at a point in time to perform a service (for example, a security service such as a Knox service) If the electronic device 330 is in a state in which an associated license (e.g., a license authenticated in connection with the application 335) is active and the license includes the service If it is a license, true may be returned, and if the license is a license that does not include the service, a false may be returned. Based on the fact that the True is returned, the user can use the paid function (or security function) in the specific application using the electronic device 330. An example of specific operation for processing this is shown in FIG.
도 4는 다양한 실시 예들에 따른 시스템에서 서비스 기반으로 라이선스를 제어하는 예를 설명하기 위한 도면이다. 4 is a diagram for explaining an example of controlling a license based on a service in a system according to various embodiments.
도 4에서는 전자 장치(330) 내에서 어플리케이션(예: Samsung focus 어플리케이션. Tachyon 어플리케이션 등) 실행 시에 대한 동작 시나리오를 나타낼 수 있다. 일 실시 예에 따라, Samsung focus 어플리케이션은, EAS(exchange active sync), IMAP/POP3 사용자들에게 이메일, 일정, 할일, 메모, 주소록 등과 같은 업무관련 정보들을 손쉽게 관리하고 처리할 수 있도록 도와주는 어플리케이션을 나타낼 수 있다. 다양한 실시 예들에서, Samsung focus 어플리케이션은, 무료 기능과 유료 기능으로 구분되고, 유료 기능에 관련된 적어도 하나의 Feature가 다양한 실시 예들에 따른 "서비스"에 대응할 수 있다. 일 실시 예에 따라, Tachyon 어플리케이션은, 전자 장치(330)에서 자동 설정(automatic setup)(또는 자동 구성(automatic configuration))을 해주는 어플리케이션으로, 예를 들면, 전자 메일(email) 또는 QR(quick response) 코드(code)로부터 인증된 모바일 장치들(mobile devices)의 자동 구성 및 프로비저닝(automated configuration and provisioning)을 지원할 수 있다. 다양한 실시 예들에서, Tachyon 어플리케이션은, 어플리케이션 자체가 보안 정책에 포함된 것으로, 예를 들면, Tachyon 어플리케이션의 실행 유/무가 다양한 실시 예들에 따른 "서비스"에 대응할 수 있다. 일 실시 예에 따르면, Tachyon 어플리케이션이 전자 장치(330)에 설치되더라도, 서비스에 Tachyon 어플리케이션이 포함되지 않은 경우, Tachyon 어플리케이션은 전자 장치(330)에서 실행되지 않을 수 있다.4, an operational scenario for an application (e.g., a Samsung focus application, a Tachyon application, etc.) may be displayed in the electronic device 330. [ According to one embodiment, the Samsung focus application is an application that facilitates managing and processing business-related information such as e-mail, schedule, todo, memo, and address book to exchange active sync (EAS) and IMAP / POP3 users . In various embodiments, the Samsung focus application is divided into a free function and a paid function, and at least one Feature related to the paid function can correspond to a " service " according to various embodiments. According to one embodiment, the Tachyon application is an application that provides an automatic setup (or an automatic configuration) in the electronic device 330, for example, an email or a quick response ) Code to support automated configuration and provisioning of mobile devices. In various embodiments, the Tachyon application may correspond to a " service " in accordance with various embodiments where the application itself is included in the security policy, for example, whether or not the Tachyon application is running. According to one embodiment, even if the Tachyon application is installed in the electronic device 330, the Tachyon application may not run in the electronic device 330 if the service does not include a Tachyon application.
도 4를 참조하면, 동작(401)에서, 다양한 실시 예들에 따른 보안 서비스(또는 MDM 솔루션)를 사용하려는 벤더(310)는 사용하려는 Feature를 포함하는 라이선스를 포털 서버(321)에 요청할 수 있다. 예를 들면, 벤더(310)는 관리자에 의해 선택된 퍼미션(selected permissions)과 서비스(selected services)에 적어도 기반하여 새로운 라이선스 키(new license key)를 포털 서버(321)에 요청할 수 있다. 일 실시 예에 따라, 퍼미션은, 전자 장치(330)의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타낼 수 있다.Referring to FIG. 4, at operation 401, a vendor 310 using a security service (or an MDM solution) according to various embodiments may request a license including a feature to be used from the portal server 321. For example, the vendor 310 may request a new license key to the portal server 321 based at least on the selected permissions and services selected by the administrator. In accordance with one embodiment, the permissions may represent at least one permitted function or component of the electronic device 330.
동작(403)에서, 포털 서버(321)는 벤더(310)의 라이선스 키 요청에 대응하여, 내부적으로 라이선스 매니저(321A)에게 라이선스 발급을 요청하고, 발급(생성)된 라이선스를 라이선스 서버(325)에 저장할 수 있다. 일 실시 예에 따라, 포털 서버(321)는 라이선스 매니저(321A)에 기반하여 요청된 라이선스를 생성할 수 있고, 생성된 라이선스에, 벤더(310)로부터 요청된 퍼미션과 서비스를 등록(register)하여, 라이선스 서버(325)를 통해 DB(327)에 저장할 수 있다.In response to the license key request of the vendor 310, the portal server 321 requests the license manager 321A to issue the license internally and the license server 325 issues the issued (generated) license at the operation 403, Lt; / RTI > According to one embodiment, the portal server 321 may generate a requested license based on the license manager 321A, register the permissions and services requested from the vendor 310 to the generated license , And may be stored in the DB 327 through the license server 325.
동작(405)에서, 벤더(310)(예: MDM 서버(311))는 포털 서버(321)의 EAP(321B)를 통해, 벤더(310)의 요청에 대응하는 라이선스를 획득할 수 있다. 예를 들면, 벤더(310)는 퍼미션(permissions) 및 서비스(services) 등을 포함하는 라이선스를 획득할 수 있다. 일 실시 예에 따라, 라이선스는 고객 정보(customer information)를 더 포함할 수도 있다.At operation 405, the vendor 310 (e.g., the MDM server 311) may obtain a license corresponding to the request of the vendor 310 via the EAP 321B of the portal server 321. [ For example, the vendor 310 may obtain a license including permissions and services. According to one embodiment, the license may further include customer information.
동작(407)에서, 벤더(310)는 MDM 서버(311)에 라이선스를 주입(inject license)하고, MDM 클라이언트(337)로 라이선스를 배포할 수 있다.At operation 407, the vendor 310 may inject licenses into the MDM server 311 and distribute the licenses to the MDM client 337.
동작(409)에서, MDM 클라이언트(337)는 전자 장치(330)의 프레임워크(333)(예: MDM Framework)를 통해 MDM API를 호출(call)하여 전자 장치(330)에 라이선스를 활성화(activate)하도록 요청할 수 있다.At operation 409, the MDM client 337 calls the MDM API via the framework 333 (e.g., the MDM Framework) of the electronic device 330 to activate the license to the electronic device 330 ).
동작(411)에서, 프레임워크(333)는 라이선스와, MDM 클라이언트(337)의 패키지 이름(pkgName, package name)을 인텐트(intent)를 통해 전자 장치(330)의 라이선스 클라이언트(331)에게 전달(전송)할 수 있다.In operation 411, the framework 333 passes the license and the package name (pkgName, package name) of the MDM client 337 to the license client 331 of the electronic device 330 via an intent (Transmission).
동작(413)에서, 라이선스 클라이언트(331)는 해당 패키지에 대한 정보(information)를 획득할 수 있다. 일 실시 예에 따라, 라이선스 클라이언트(331)는 어플리케이션의 인증서(signature) 해시(hash)에 기반하여, 전자 장치(330)에 인증서가 설치되어 있는지 여부를 판단하고, 판단하는 결과에 대한 정보를 획득할 수 있다. At operation 413, the license client 331 may obtain information about the package. According to one embodiment, the license client 331 may determine whether a certificate is installed in the electronic device 330 based on the signature hash of the application and obtain information about the result of the determination can do.
동작(415)에서, 라이선스 클라이언트(331)는 GSLB 서버(323)에 접속하여, 전자 장치(330)가 접속할 라이선스 서버의 주소(예: 라이선스 서버(325)의 주소)를 획득(fetch)할 수 있다. 예를 들면, 라이선스 클라이언트(331)는 GSLB 서버(323)에, 전자 장치(330)가 접속할 수 있는 라이선스 서버에 관련된 URL을 요청하고, GSLB 서버(323)로부터 URL을 수신할 수 있다.At operation 415, the license client 331 may contact the GSLB server 323 to fetch the address of the license server to which the electronic device 330 will connect (e.g., the address of the license server 325) have. For example, the license client 331 may request the URL associated with the license server to which the electronic device 330 can connect and receive the URL from the GSLB server 323, to the GSLB server 323. [
동작(417)에서, 라이선스 클라이언트(331)는 라이선스 서버(325)에 라이선스 인증을 요청할 수 있다. 일 실시 예에 따라, 라이선스 클라이언트(331)는 GSLB 서버(323)로부터 획득한 라이선스 서버(325)의 주소(예: URL)에 기반하여, 라이선스 서버(325)로 접속하고, 라이선스 인증을 요청할 수 있다. 일 실시 예에 따라, 라이선스 클라이언트(331)는 등록 어플리케이션과 라이선스 유효성 여부를 라이선스 서버(325)에게 요청할 수 있다. At operation 417, the license client 331 may request the license server 325 to perform license authentication. The license client 331 may access the license server 325 and request license authentication based on the address (e.g., URL) of the license server 325 obtained from the GSLB server 323 have. According to one embodiment, the license client 331 may request the license application 325 to validate the registration application and the license.
동작(419)에서, 라이선스 서버(325)는 전자 장치(330)(예: 전자 장치(330)의 라이선스 클라이언트(331))의 라이선스 인증 요청에 응답하여, 라이선스 서버(325) DB(327)에 저장된 라이선스와 패키지 정보(예: 퍼미션, 서비스)를 이용하여 요청된 라이선스가 유효한지 여부를 확인할 수 있다. 일 실시 예에 따라, 라이선스 서버(325)는 어플리케이션의 인증서 해시(signature hash)를 통해 라이선스를 인증(validate)하고, 인증된 라이선스에 퍼미션(permissions)과 서비스(services)를 설정할 수 있다.In operation 419, the license server 325 responds to the license authentication request of the electronic device 330 (e.g., the license client 331 of the electronic device 330) to the license server 325 DB 327 You can use the stored license and package information (eg, permissions, services) to determine if the requested license is valid. According to one embodiment, the license server 325 may validate the license through the application's signature hash and set permissions and services on the authenticated license.
동작(421)에서, 라이선스 서버(325)는 라이선스 클라이언트(331)로 인증 결과를 전송할 수 있다. 다양한 실시 예들에 따라, 라이선스가 정상 인증된 경우, 인증 결과는, 퍼미션 리스트(permission list)와 서비스 리스트(service list)를 포함하는 라이선스를 포함할 수 있다.In operation 421, the license server 325 may send the authentication result to the license client 331. [ According to various embodiments, if the license is authentic, the authentication result may include a license that includes a permission list and a service list.
일 실시 예에 따르면, 라이선스 구조(예: RO(Right Object) structure)는 아래 <표 1>과 같이 제공될 수 있다.According to one embodiment, a license structure (e.g., RO (Right Object) structure) may be provided as shown in Table 1 below.
Figure PCTKR2018012099-appb-I000001
Figure PCTKR2018012099-appb-I000001
다양한 실시 예들에 따르면, 라이선스(예: RO)는, 서비스 이름(service names), 각 서비스를 위한 제한(limitation), 및 상세 필드(detail field)를 포함할 수 있고, <표 1>에 예시한 바와 같은 허용되는 서비스(services)에 대한 정보(예: Focus, E-FOTA, Tachyon)를 포함할 수 있다. <표 1>에서, 서비스(services) 항목 아래의 서비스에 대한 정보는, 공개 키(public key)의 허용된(allowed) 패키지 버전(version), 이름(name), 또는 해시 값(hash value) 등을 제어하는 데 이용될 수 있다. 일 실시 예에 따라, 서비스에 대한 정보는, 퍼미션과 서비스(또는 서비스 리스트로, 예를 들면, Focus, E-FOTA, Tachyon)를 포함하는 오브젝트(object)(예: RO, right object)로 제공될 수 있다. 예를 들면, 오브젝트는 JSON(JavaScript Object Notation) 파일(file) 형식(format)을 가지며, 라이선스 서버(325)는 JSON 파일 형식으로, 라이선스 구조에 있는 데이터를 포함한 정보를 전자 장치(330)에 전달할 수 있다. 일 실시 예에 따라, 오브젝트는, ID, 상태(state), 발행일(issue date), 만료일(expiration date), 라이선스 타입(license type), 업로드 시간(upload time), 또는 업로드 빈도(upload frequency) 중 적어도 하나를 포함할 수 있다.According to various embodiments, the license (e.g., RO) may include service names, a limitation for each service, and a detail field, (E. G., Focus, E-FOTA, Tachyon). &Lt; / RTI > In Table 1, the information about the services under the services item includes the allowed package version, name, or hash value of the public key. As shown in FIG. According to one embodiment, information about a service is provided as an object (e.g., RO, right object) that includes permissions and services (or a list of services, e.g., Focus, E-FOTA, Tachyon) . For example, the object has a JavaScript Object Notation (JSON) file format and the license server 325 transfers the information including the data in the license structure to the electronic device 330 in the JSON file format . In accordance with one embodiment, an object may be stored in a storage medium such as an ID, a state, an issue date, an expiration date, a license type, an upload time, or an upload frequency And may include at least one.
동작(423)에서, 라이선스 클라이언트(331)는 라이선스에 대한 인증 결과(예: 제약(constraints)에 대한 정보)를 어플리케이션 내부에 저장하도록 할 수 있다. 일 실시 예에 따라, 라이선스 클라이언트(331)는 인증 결과와, 오브젝트(예: 퍼미션, 및 서비스)를 저장할 수 있다.At operation 423, the license client 331 may store the authorization result (e.g., information about constraints) on the license within the application. According to one embodiment, the license client 331 may store the authentication results and objects (e.g., permissions, and services).
동작(425)에서, 라이선스 클라이언트(331)는 프레임워크(333)(예: MDM Framework)로 라이선스 인증 결과와 오브젝트(예: 퍼미션, 및 서비스)를 전달할 수 있다. At operation 425, the license client 331 may pass the license authorization result and objects (e.g., permissions, and services) to the framework 333 (e.g., the MDM Framework).
동작(427)에서, 프레임워크(333)는 프레임워크(333) 내부 DB(예: enterprise DB)에 결과를 저장할 수 있고, 해당 어플리케이션에 대해 퍼미션을 부여할 수 있다. 일 실시 예에 따르면, 프레임워크(333)는 내부 DB(예: enterprise DB)에 라이선스 클라이언트(331)를 통해 획득된 오브젝트(예: 퍼미션과 서비스)를 저장할 수 있고, 패키지 매니저(package manager)에 의해 퍼미션을 설정할 수 있다.In operation 427, the framework 333 may store the results in an internal DB (e.g., enterprise DB) of the framework 333 and may grant permissions for the applications. According to one embodiment, the framework 333 may store objects (e.g., permissions and services) obtained via the license client 331 in an internal DB (e.g., enterprise DB) and may be stored in a package manager You can set the permissions by
동작(429)에서, 프레임워크(333)는 라이선스 인증 동작이 모두 완료되는 것에 응답하여, 인증 동작에 대한 결과(intent, result)를 MDM 클라이언트(337)로 전달할 수 있다. 이를 통해, MDM 클라이언트(337)는 활성화 시킨 라이선스(예: 동작(409)에 따른 라이선스)에서 제공하는 Feature(예: 유료 기능 또는 보안 기능)의 사용이 가능할 수 있다.In operation 429, the framework 333 may communicate the result (intent, result) of the authentication operation to the MDM client 337 in response to all of the license authentication operations being completed. In this way, the MDM client 337 may be enabled to use a Feature (e.g., a paid function or a security function) provided by an activated license (e.g., a license according to the operation 409).
동작(431)에서, 이후, 사용자가 전자 장치(330)를 이용하여, 어플리케이션(예: Samsung Focus 어플리케이션, Tachyon 어플리케이션 등)의 유료 기능(또는 보안 기능)을 사용하려는 시점에, 해당 어플리케이션(335)은 프레임워크(333)에서 제공하는 MDM API를 호출할 수 있다. 예를 들면, 어플리케이션(335)은 프레임워크(333)를 통해 전자 장치(330)가 서비스(allowed service)(예: Focus 또는 Tachyon)를 허용하는지 확인하도록 요청할 수 있다.In operation 431, when the user subsequently uses the electronic device 330 to use a paid function (or security function) of an application (e.g., a Samsung Focus application, a Tachyon application, etc.) The MDM API provided by the framework 333 may be called. For example, the application 335 may request through the framework 333 to verify that the electronic device 330 allows an allowed service (e.g., Focus or Tachyon).
동작(433)에서, 프레임워크(333)는 내부 DB(예: enterprise DB)에 있는 허용된(allowed) 서비스(또는 서비스 리스트)에 해당 서비스(예: Focus, Tachyon)가 존재하는지 확인하고, 그 결과 값을 어플리케이션(335)에 반환할 수 있다. 일 실시 예에 따라, 프레임워크(333)는 내부 DB에 해당 서비스가 존재하는 경우, 트루(true)를 반환할 수 있고, 내부 DB에 해당 서비스가 존재하지 않는 경우, 폴스(false)를 반환할 수 있다.In operation 433, the framework 333 determines whether the corresponding service (e.g., Focus, Tachyon) exists in an allowed service (or service list) in an internal DB (e.g., enterprise DB) And return the result value to the application 335. [ According to one embodiment, the framework 333 may return true when the corresponding service exists in the internal DB, and may return a false if the corresponding service does not exist in the internal DB .
일 실시 예에 따라, 어플리케이션(335)은 프레임워크(333)로부터 트루(true)가 반환될 경우 사용자에 의해 유료 기능(또는 보안 기능, 어플리케이션 자체)을 사용 할 수 있도록 허용할 수 있다. 일 실시 예에 따라, 어플리케이션(335)은 프레임워크(333)로부터 폴스(false)가 반환될 경우 사용자에 의해 유료 기능(또는 보안 기능, 어플리케이션 자체)을 사용을 허용하지 않을 수 있다.According to one embodiment, the application 335 may allow the user to use a paid function (or a security function, the application itself) when a return from the framework 333 is true. According to one embodiment, the application 335 may not allow the use of a paid function (or a security function, the application itself) by the user when a false return from the framework 333 is returned.
도 5는 다양한 실시 예들에 따른 시스템에서 서비스 기반으로 라이선스를 제어하는 예를 설명하기 위한 도면이다.5 is a diagram for explaining an example of controlling a license based on a service in a system according to various embodiments.
도 5에서는 벤더(310)에서 전자 장치(330)에 어플리케이션(또는 서비스)(예: E-FOTA 등)을 실행 시에 대한 동작 시나리오를 나타낼 수 있다. 예를 들면, 도 5는 MDM 솔루션을 적용하는 대상 전자 장치(330)들에 한정하여 펌웨어(firmware) 업데이트 등을 실행 시에 대한 동작을 나타낼 수 있다.5, an operation scenario for an application (or service) (e.g., E-FOTA, etc.) may be displayed on the electronic device 330 at the vendor 310. [ For example, FIG. 5 may be limited to the target electronic devices 330 to which the MDM solution is applied, and may indicate an operation upon execution of firmware update or the like.
도 5를 참조하면, 도 5의 동작(501) 내지 동작(529)는, 전술한 도 4를 참조한 설명 부분에서 설명한 바와 같은, 도 4의 동작(401) 내지 동작(429)에 대응하는 동작일 수 있고, 동작(501) 내지 동작(529)에 대한 구체적인 설명은 생략하기로 한다. 예를 들면, 벤더(310)와 전자 장치(330)는 제조사 서버(320)에 기반하여 인증된 라이선스를 각각 저장하는 상태에서, 벤더(310)에 의해 전자 장치(330)에 어플리케이션을 실행 시의 동작 예를 나타낼 수 있다.5, operations 501 to 529 of FIG. 5 are operations corresponding to the operations 401 to 429 of FIG. 4 as described in the description with reference to FIG. And a detailed description of operations 501 to 529 will be omitted. For example, the vendor 310 and the electronic device 330 may be configured to execute an application on the electronic device 330 by the vendor 310 in a state of storing an authorized license, respectively, An operation example can be shown.
동작(531)에서, MDM 클라이언트(337)는 전자 장치(330)에 어플리케이션(예: E-FOTA 어플리케이션)을 사용(예: 펌웨어 업데이트 등)하려는 시점에, 전자 장치(330)의 프레임워크(333)에서 제공하는 MDM API를 호출할 수 있다. 예를 들면, MDM 클라이언트(337)는 프레임워크(333)를 통해 전자 장치(330)가 서비스(allowed service)(예: E-FOTA)를 허용하는지 확인하도록 요청할 수 있다.At operation 531, the MDM client 337 sends a request to the framework 333 of the electronic device 330 at a point in time to use an application (e.g., an E-FOTA application) You can call the MDM API provided by For example, the MDM client 337 may request through the framework 333 to verify that the electronic device 330 allows an allowed service (e.g., E-FOTA).
동작(533)에서, 프레임워크(333)는 내부 DB(예: enterprise DB)에 있는 허용된(allowed) 서비스(또는 서비스 리스트)에 해당 서비스(예: E-FOTA)가 존재하는지 확인하고, 그 결과 값을 어플리케이션(335)에 반환할 수 있다. 일 실시 예에 따라, 프레임워크(333)는 내부 DB에 해당 서비스가 존재하는 경우, 트루(true)를 반환할 수 있고, 내부 DB에 해당 서비스가 존재하지 않는 경우, 폴스(false)를 반환할 수 있다.At operation 533, the framework 333 determines whether the corresponding service (e.g., E-FOTA) exists in an allowed service (or service list) in an internal DB (e.g., enterprise DB) And return the result value to the application 335. [ According to one embodiment, the framework 333 may return true when the corresponding service exists in the internal DB, and may return a false if the corresponding service does not exist in the internal DB .
일 실시 예에 따라, 어플리케이션(335)은 프레임워크(333)로부터 트루(true)가 반환될 경우 전자 장치(330)에 의해 E-FOTA를 실행(예: 펌웨어 업데이트 등)하도록 허용할 수 있다. 일 실시 예에 따라, 어플리케이션(335)은 프레임워크(333)로부터 폴스(false)가 반환될 경우 전자 장치(330)에 의해 E-FOTA의 실행을 허용하지 않을 수 있다.According to one embodiment, the application 335 may allow E-FOTA to be executed (e.g., firmware update, etc.) by the electronic device 330 when TRUE from the framework 333 is returned. According to one embodiment, the application 335 may not allow the execution of E-FOTA by the electronic device 330 when a false return from the framework 333 is returned.
이상에서 살펴본 바와 같이, 다양한 실시 예들에 따른 시스템(예: 라이선스를 운영하는 서버로, 예를 들면, 제조사 서버(320))에 있어서, 네트워크 인터페이스, 상기 네트워크 인터페이스에 동작적으로 연결된 적어도 하나의 프로세서, 및 상기 프로세서에 동작적으로 연결된 적어도 하나의 메모리, 상기 메모리는, 실행 시에, 상기 프로세서가, MDM(mobile device management)이 적용되는 전자 장치(330)로부터 상기 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 수신하고, 상기 라이선스의 인증을 수행하고, 및 상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 상기 전자 장치에 제공하도록 하는 인스트럭션들(instructions)을 저장하고, 상기 정보는, 상기 전자 장치(330)의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치(330)가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램(application program)(325)을 나타내는 서비스(service)를 포함하고, 상기 전자 장치는 상기 적어도 하나의 어플리케이션 프로그램을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작될 수 있다.As described above, in a system according to various embodiments (e.g., a server operating a license, e.g., a manufacturer server 320), a network interface, at least one processor operatively coupled to the network interface, And at least one memory operatively coupled to the processor, wherein the memory, in execution, permits the processor to license through the network interface from the electronic device (330) to which the mobile device management (MDM) The method comprising the steps of: receiving a request to authenticate a license, perform authentication of the license, and provide, via the network interface, information relating to the license to the electronic device, At least one permitted function or component of the electronic device 330 ent and at least one application program 325 allowed to be used by the electronic device 330, the electronic device comprising: at least one of the at least one And may be operated based on whether the service is permitted when the application program is executed.
다양한 실시 예들에 따라, 상기 정보는, 상기 퍼미션과 상기 서비스를 포함하는 오브젝트(object)를 포함할 수 있다.According to various embodiments, the information may include an object including the permission and the service.
다양한 실시 예들에 따라, 상기 오브젝트는, JSON(JavaScript Object Notation) 파일 형식(format)일 수 있다.According to various embodiments, the object may be a JavaScript Object Notation (JSON) file format.
다양한 실시 예들에 따라, 상기 오브젝트는, ID, 상태(state), 발행일(issue date), 만료일(expiration date), 라이선스 타입(license type), 업로드 시간(upload time), 또는 업로드 빈도(upload frequency) 중 적어도 하나를 더 포함할 수 있다.According to various embodiments, the object may include an ID, a state, an issue date, an expiration date, a license type, an upload time, or an upload frequency, As shown in FIG.
다양한 실시 예들에 따라, 상기 시스템은, 상기 MDM을 제공하는 적어도 하나의 서버(예: 포털 서버(321), GSLB 서버(323), 라이선스 서버(325))를 포함하고, 상기 서버(320)는, MDM 구축을 벤더(310)로부터 위한 라이선스 키에 대한 요청을 수신하고, 상기 요청에 대응하여 상기 퍼미션과 상기 서비스를 포함하는 라이선스 키를 생성하고, 상기 생성된 라이선스 키를 상기 벤더(310)에 제공 할 수 있다.According to various embodiments, the system includes at least one server (e.g., a portal server 321, a GSLB server 323, a license server 325) that provides the MDM, , Receives a request for a license key from the vendor 310 for MDM construction, generates a license key including the permission and the service in response to the request, and transmits the generated license key to the vendor 310 .
이상에서 살펴본 바와 같이, 다양한 실시 예들에 따른 MDM(mobile device management)을 이용하는 전자 장치(330)는, 네트워크 인터페이스, 상기 네트워크 인터페이스에 동작적으로 연결된 적어도 하나의 프로세서, 및 상기 프로세서에 동작적으로 연결된 적어도 하나의 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 어플리케이션 프로그램(application program) 실행 시에, 상기 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 서버(320)로 전송하고, 상기 서버(320)로부터 상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 수신하도록 하는 인스트럭션들(instructions)을 저장하고, 상기 정보는, 상기 전자 장치(330)의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치(330)가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램을 나타내는 서비스(service)를 포함하고, 상기 전자 장치(330)는 상기 적어도 하나의 어플리케이션 프로그램(325)을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작될 수 있다.As discussed above, the electronic device 330 utilizing mobile device management (MDM) in accordance with various embodiments includes a network interface, at least one processor operatively coupled to the network interface, and at least one processor operatively coupled to the processor And at least one memory, wherein the processor, upon execution, causes the processor to, upon execution of an application program, send a request to the server (320) to authenticate a license via the network interface And instructions for causing the server (320) to receive, via the network interface, information pertaining to the license, the information including at least one permitted function of the electronic device (330) a permission indicating a function or a component, The electronic device 330 includes a service that represents at least one application program that the device 330 is allowed to use and the electronic device 330 downloads the at least one application program 325 and the application program And may be operated based on whether or not the service is permitted at the time of execution.
다양한 실시 예들에 따라, 상기 정보는, 상기 퍼미션과 상기 서비스를 포함하는 오브젝트(object)를 포함할 수 있다.According to various embodiments, the information may include an object including the permission and the service.
다양한 실시 예들에 따라, 상기 오브젝트는, JSON(JavaScript Object Notation) 파일 형식(format)일 수 있다.According to various embodiments, the object may be a JavaScript Object Notation (JSON) file format.
다양한 실시 예들에 따라, 상기 오브젝트는, ID, 상태(state), 발행일(issue date), 만료일(expiration date), 라이선스 타입(license type), 업로드 시간(upload time), 또는 업로드 빈도(upload frequency) 중 적어도 하나를 더 포함할 수 있다.According to various embodiments, the object may include an ID, a state, an issue date, an expiration date, a license type, an upload time, or an upload frequency, As shown in FIG.
다양한 실시 예들에 따라, 상기 라이선스는, 상기 라이선스를 상기 서버로부터 수신하여 배포하는 벤더(310)로부터 획득될 수 있다.According to various embodiments, the license may be obtained from a vendor 310 that receives and distributes the license from the server.
도 6은 다양한 실시 예들에 따른 전자 장치의 동작을 도시하는 흐름도이다.6 is a flow chart illustrating operation of an electronic device according to various embodiments.
다양한 실시 예들에 따라, 도 6에서 전자 장치(330)(또는 도 1의 전자 장치(101))는 MDM 솔루션을 이용하는 전자 장치일 수 있다.In accordance with various embodiments, the electronic device 330 (or the electronic device 101 of FIG. 1) in FIG. 6 may be an electronic device using a MDM solution.
도 6을 참조하면, 동작(601)에서, 전자 장치(330)(또는 프로세싱 회로(processing circuitry)를 포함하는 프로세서(120))는 라이선스를 획득할 수 있다. 일 실시 예에 따르면, 전자 장치(330)는 어플리케이션(또는 어플리케이션 프로그램(application program))을 설치하고, 어플리케이션과 관련된 라이선스를 획득할 수 있다. 일 실시 예에 따라, 어플리케이션은 벤더(310)(또는 사업체)와 적어도 일부 연관되고, 어플리케이션에 따라 적어도 일부 기능(또는 서비스)이 제한적으로 동작하는 어플리케이션일 수 있다. 일 실시 예에 따르면, 전자 장치(330)는 전술한 도 4를 참조한 설명 부분에서 설명한 바와 같이, 벤더(310)에 의해 요청되어 제조사 서버(320)에 등록된 라이선스(예: 퍼미션 및 서비스 포함) 중, 해당 어플리케이션에서 요구되는 라이선스를 획득할 수 있다. Referring to FIG. 6, at operation 601, an electronic device 330 (or processor 120 including processing circuitry) may obtain a license. According to one embodiment, the electronic device 330 may install an application (or an application program) and obtain a license associated with the application. According to one embodiment, an application is at least partially associated with a vendor 310 (or business entity), and may be an application in which at least some functions (or services) operate in a limited manner depending on the application. According to one embodiment, the electronic device 330 includes a license (e.g., including permissions and services) that is requested by the vendor 310 and registered with the manufacturer server 320, as described in the description section with reference to FIG. It is possible to obtain a license required by the application.
동작(603)에서, 프로세서(120)는 어플리케이션 실행을 감지할 수 있다. 일 실시 예에 따라, 어플리케이션 실행은, 사용자에 의한 실행(예: Samsung Focus 어플리케이션 실행) 또는 벤더(310)에 의한 실행(예: E-FOTA 어플리케이션 실행)을 포함할 수 있다.At operation 603, the processor 120 may detect application execution. According to one embodiment, application execution may include execution by a user (e.g., Samsung Focus application execution) or by a vendor 310 (e.g., execution of an E-FOTA application).
동작(605)에서, 프로세서(120)는 어플리케이션 실행을 감지하는 것에 응답하여, 해당 어플리케이션에 기반한 라이선스의 확인이 필요한지 여부를 판단할 수 있다. 일 실시 예에 따라, 프로세서(120)는 실행 요청된 어플리케이션 또는 어플리케이션의 기능이 라이선스의 확인을 필요로 하는 유료 기능(또는 보안 기능)인지 여부를 판단할 수 있다. 다른 실시 예에 따라, 프로세서(120)는 어플리케이션의 타입(type)을 판단하여, 특정 권한(예: 엔터프라이즈 어플리케이션, 또는 라이선스 기반 운영 어플리케이션 등)에 기반하여 동작하는 어플리케이션인지, 또는 특정 권한 없이 일반적으로 동작하는 어플리케이션인지 여부를 판단할 수 있다.In operation 605, the processor 120, in response to detecting application execution, may determine whether a confirmation of a license based on the application is required. According to one embodiment, the processor 120 may determine whether the function of the application or application for which execution is requested is a paid function (or a security function) that requires confirmation of the license. In accordance with another embodiment, processor 120 determines the type of application and determines whether it is an application that operates based on a specific authority (e.g., an enterprise application, a license-based administration application, etc.) It can be determined whether the application is an operating application.
동작(605)에서, 프로세서(120)는 라이선스 확인이 필요하지 않은 것으로 판단하는 경우(동작(605)의 아니오), 동작(607)에서, 요청된 어플리케이션을 실행할 수 있다.At operation 605, the processor 120 may execute the requested application at operation 607 if it determines that a license check is not required (NO at operation 605).
동작(605)에서, 프로세서(120)는 라이선스 확인이 필요한 것으로 판단하는 경우(동작(605)의 예), 동작(609)에서, MDM API를 호출할 수 있다. 일 실시 예에 따라, 프로세서(120)는 어플리케이션의 실행 시점에, 프레임워크(333)에서 제공하는 API를 호출하여, 어플리케이션 또는 어플리케이션에 관련된 서비스가 전자 장치(330)에 허용 가능한 지 여부를 판단할 수 있다. 예를 들면, 실행 요청된 어플리케이션은 프레임워크(333)를 통해 전자 장치(330)가 서비스(allowed service)를 허용하는지 확인하도록 요청할 수 있고, 프레임워크(333)는 내부 DB(예: enterprise DB)에 있는 허용된(allowed) 서비스(또는 서비스 리스트)에 해당 서비스가 존재하는지 확인하고, 그 결과 값을 어플리케이션(335)에 반환할 수 있다.At operation 605, processor 120 may call the MDM API at operation 609 if it determines that a license check is required (operation 605). According to one embodiment, at the time of execution of the application, the processor 120 calls the API provided by the framework 333 to determine whether a service related to the application or the application is acceptable to the electronic device 330 . For example, an application requested for execution may request via framework 333 to verify that electronic device 330 allows an allowed service, and framework 333 may request an internal DB (e.g., enterprise DB) (Or the service list) in the service 335, and returns the result to the application 335. [
동작(611)에서, 프로세서(120)는 API로부터 콜백 값이 트루(true)가 반환되는지, 또는 폴스(false)가 반환되는지 여부를 판단할 수 있다.At operation 611, the processor 120 may determine whether a callback value from the API returns true or whether a false is returned.
동작(611)에서, 프로세서(120)는 트루(true)가 반환된 것을 확인하는 것에 기반하여(동작(611)의 예), 동작(613)에서, 어플리케이션 또는 어플리케이션의 서비스 사용을 허용할 수 있고, 동작(615)에서, 어플리케이션을 실행하도록 할 수 있다.At operation 611, processor 120 may allow the application or application to use the service at operation 613, based on confirming that true is returned (operation 611) , Then the application may be run at operation 615. [
동작(611)에서, 프로세서(120)는 폴스(false)가 반환된 것을 확인하는 것에 기반하여(동작(611)의 아니오), 동작(617)에서, 어플리케이션 또는 어플리케이션의 서비스 사용을 허용하지 않을 수 있고(비허용 할 수 있고), 동작(617)에서 어플리케이션 또는 어플리케이션의 서비스 실행을 중지하도록 할 수 있다.At operation 611, processor 120 may determine at operation 617 that it will not allow the application or application to use the service based on confirming that the false is returned (NO at operation 611) (May be unacceptable) and may cause the application or application to stop executing the service at operation 617.
도 7은 다양한 실시 예들에 따른 제조사 서버의 동작을 도시하는 흐름도이다.7 is a flow chart illustrating operation of a manufacturer server in accordance with various embodiments.
다양한 실시 예들에 따라, 도 7에서 제조사 서버(320)는 MDM 솔루션을 제공하는 서버일 수 있으며, 예를 들어, 전자 장치(330)의 제조사일 수 있다. 다양한 실시 예들에 따라, 제조사 서버(320)는 MDM 솔루션을 특정 사업체에게 구축하기를 원하는 벤더에게 SDK 및 라이선스 키를 제공할 수 있다.In accordance with various embodiments, in FIG. 7, the manufacturer server 320 may be a server that provides an MDM solution and may be, for example, the manufacturer of the electronic device 330. According to various embodiments, the manufacturer server 320 may provide the SDK and license key to the vendor wishing to build the MDM solution in a particular business.
도 7을 참조하면, 동작(701)에서, 제조사 서버(320)(예: 포털 서버(321)는 벤더(310)(예: MDM 서버(311))로부터 라이선스 키 요청을 수신할 수 있다. 예를 들면, 벤더(310)는 사용하려는 어플리케이션(또는 어플리케이션 프로그램) 또는 어플리케이션의 서비스에 대한 퍼미션과 서비스에 적어도 기반하여 라이선스 키를 제조사 서버(320)에 요청할 수 있다. 일 실시 예에 따라, 제조사 서버(320)는 벤더(310)로부터 라이선스 키의 요청을 직접적으로 수신할 수 있거나, 또는 웹 포털(예: 포털 서버(321))을 중계하는 등 다양한 방법으로 라이선스 키의 요청을 수신할 수 있다.7, at operation 701, a manufacturer server 320 (e.g., portal server 321) may receive a license key request from a vendor 310 (e.g., MDM server 311). For example, the vendor 310 may request a license key from the manufacturer server 320 based at least on permissions and services for the application (or application program) or application of the application to be used. According to one embodiment, (320) may directly receive a request for a license key from vendor (310), or may receive a request for a license key in a variety of ways, such as relaying a web portal (e.g., portal server (321)).
동작(703)에서, 제조사 서버(320)는 라이선스 키 요청을 수신하는 것에 기반하여, 라이선스 키를 생성할 수 있다. 일 실시 예에 따라, 제조사 서버(320)는 퍼미션과 서비스를 포함하는 라이선스 키를 생성할 수 있다.At operation 703, the manufacturer server 320 may generate a license key based on receiving the license key request. According to one embodiment, the manufacturer server 320 may generate a license key that includes permissions and services.
동작(705)에서, 제조사 서버(320)는 벤더(310)로 라이선스 키를 전송할 수 있다.At operation 705, the manufacturer server 320 may transfer the license key to the vendor 310. [
동작(707)에서, 제조사 서버(320)는 전자 장치(330)로부터 라이선스 키에 의한 등록 요청을 수신할 수 있다. 일 실시 예에 따라, 전자 장치(330)는 라이선스 키를 벤더(310)로부터 수신할 수 있고, 해당 라이선스 키에 대한 등록을 제조사 서버(320)에 요청할 수 있다.At operation 707, the manufacturer server 320 may receive a registration request by the license key from the electronic device 330. [ According to one embodiment, the electronic device 330 may receive the license key from the vendor 310 and may request the manufacturer server 320 to register for that license key.
동작(709)에서, 제조사 서버(320)는 라이선스 인증을 수행할 수 있다. 일 실시 예에 따라, 제조사 서버(320)는 전자 장치(330)의 라이선스 키의 유효 여부를 판단하고, 판단하는 결과에 기반한 인증 결과를 생성할 수 있다. 다양한 실시 예들에 따라, 라이선스가 정상 인증된 경우, 인증 결과는, 퍼미션 리스트(permission list)와 서비스 리스트(service list)를 포함하는 라이선스를 포함할 수 있다.At operation 709, the manufacturer server 320 may perform license authentication. According to one embodiment, the manufacturer server 320 may determine whether the license key of the electronic device 330 is valid and generate an authentication result based on the determination result. According to various embodiments, if the license is authentic, the authentication result may include a license that includes a permission list and a service list.
동작(711)에서, 제조사 서버(320)는 전자 장치(330)로 인증 결과를 전송할 수 있다. 일 실시 예에 따라, 인증 결과는, 퍼미션과 서비스(또는 서비스 리스트로, 예를 들면, Focus, E-FOTA, Tachyon)를 포함하는 오브젝트(object)로 제공될 수 있다. 예를 들면, 오브젝트는 JSON(JavaScript Object Notation) 파일(file) 형식(format)을 가지며, 제조사 서버(320)(예: 라이선스 서버(325))는 JSON 파일 형식으로, 라이선스 구조에 있는 데이터를 포함한 정보를 전자 장치(330)에 전달할 수 있다. 일 실시 예에 따라, 오브젝트는, ID, 상태(state), 발행일(issue date), 만료일(expiration date), 라이서스 타입(license type), 업로드 시간(upload time), 또는 업로드 빈도(upload frequency) 중 적어도 하나를 포함할 수 있다.At operation 711, the manufacturer server 320 may send the authentication result to the electronic device 330. [ According to one embodiment, the authentication result may be provided as an object including permissions and services (or a list of services, e.g., Focus, E-FOTA, Tachyon). For example, the object has a JavaScript Object Notation (JSON) file format, and the manufacturer server 320 (e.g., the license server 325) has a JSON file format, Information to the electronic device 330. According to one embodiment, an object may include an ID, a state, an issue date, an expiration date, a license type, an upload time, or an upload frequency, Or the like.
도 8은 다양한 실시 예들에 따른 벤더의 동작을 도시하는 흐름도이다.Figure 8 is a flow diagram illustrating the operation of a vendor in accordance with various embodiments.
도 8을 참조하면, 동작(801)에서, 벤더(310)는 제조사 서버(320)로부터 퍼미션과 서비스를 포함하는 라이선스를 획득할 수 있다. 일 실시 예에 따라, 벤더(310)는 사용하려는 어플리케이션(또는 어플리케이션 프로그램) 또는 어플리케이션의 서비스에 대한 퍼미션과 서비스에 적어도 기반하여 라이선스 키를 제조사 서버(320)에 요청할 수 있고, 그에 대응하는 라이선스 키를 제조사 서버(320)로부터 수신할 수 있다.Referring to FIG. 8, at operation 801, the vendor 310 may obtain a license from the manufacturer server 320, including permissions and services. According to one embodiment, the vendor 310 may request a license key from the manufacturer server 320 based at least on permissions and services for the application (or application program) or application of the application to be used, and the corresponding license key From the manufacturer server (320).
동작(803)에서, 벤더(310)는 보안 정책을 저장할 수 있다. 일 실시 예에 따라, 벤더(310)는 관리자에 의하여 수립된 보안 정책(예: 어플리케이션 또는 어플리케이션 서비스에 관련된 제약(constraints) 등)을 설정할 수 있다.At operation 803, the vendor 310 may store the security policy. According to one embodiment, the vendor 310 may set security policies (e.g., constraints related to an application or application service) established by the administrator.
동작(805)에서, 벤더(310)는 전자 장치(330)로 라이선스 활성화를 요청할 수 있다. 일 실시 예에 따라, 벤더(310)는 라이선스 키 또는 보안 정책 중 적어도 하나를 MDM 솔루션을 이용하는 전자 장치(330)로 전송할 수 있다. 예를 들면, MDM 클라이언트(337)는 전자 장치(330)의 프레임워크(333)(예: MDM Framework)를 통해 MDM API를 호출(call)하여 전자 장치(330)에 라이선스를 활성화(activate)하도록 요청할 수 있다.At operation 805, the vendor 310 may request activation of the license to the electronic device 330. According to one embodiment, the vendor 310 may send at least one of the license key or security policy to the electronic device 330 using the MDM solution. For example, the MDM client 337 may call the MDM API via the framework 333 (e.g., MDM Framework) of the electronic device 330 to activate the license on the electronic device 330 Can be requested.
도 9는 다양한 실시 예들에 따른 시스템에서 라이선스를 관리하는 동작을 도시하는 흐름도이다.9 is a flow diagram illustrating operations for managing licenses in a system according to various embodiments.
다양한 실시 예들에 따라, 도 9는 라이선스 서버(325)를 운영하는 업체(예: 제조사 서버(320))에서 서비스 기반의 라이선스를 관리하는 동작 예를 나타낼 수 있다. 다양한 실시 예들에 따라, 벤더(310), 제조사 서버(320), 및 전자 장치(330)는 상호 간에 무선 통신이 가능하도록, 설정된 네트워크 인터페이스(network interface)(또는 통신 회로)를 각각 포함할 수 있다.According to various embodiments, FIG. 9 may illustrate an example of an operation of managing a service-based license in a company (e.g., a manufacturer server 320) operating a license server 325. According to various embodiments, the vendor 310, the manufacturer server 320, and the electronic device 330 may each comprise a network interface (or communication circuit) configured to enable wireless communication with one another .
도 9를 참조하면, 동작(901)에서, 제조사 서버(320)(또는 제조사 서버(320)의 프로세서(미도시))는, 전자 장치(330)로부터 라이선스를 인증하기 위한 요청을 수신할 수 있다.9, at operation 901, a manufacturer server 320 (or a processor (not shown) of a manufacturer server 320) may receive a request to authenticate a license from the electronic device 330 .
동작(903)에서, 제조사 서버(320)는 전자 장치(330)로부터 라이선스 인증을 위한 요청을 수신하는 것에 기반하여, 라이선스 인증을 수행할 수 있다.At operation 903, the manufacturer server 320 may perform license authentication based on receiving a request for license authentication from the electronic device 330. [
동작(905)에서, 제조사 서버(320)는 라이선스와 관련된 정보를 전자 장치(330)로 제공할 수 있다. 일 실시 예에 따르면, 라이선스와 관련된 정보는, 예를 들면, 전자 장치(330)의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션, 및 전자 장치(330)가 사용하도록 허용된 적어도 하나의 어플리케이션(또는 어플리케이션 프로그램)을 나타내는 서비스를 포함할 수 있다. 일 실시 예에 따라, 전자 장치(330)는 MDM이 적용되는 동안 적어도 하나의 어플리케이션을 다운로드 하여 사용할 수 있다. 일 실시 예에 따라, 라이선스와 관련된 정보는, 퍼미션과 서비스를 포함하는 오브젝트로 제공될 수 있다. 일 실시 예에 따라, 오브젝트는 JSON(JavaScript Object Notation) 파일 형식(format)을 가질 수 있다.At operation 905, the manufacturer server 320 may provide the electronic device 330 with information related to the license. According to one embodiment, the license-related information includes, for example, permission to specify at least one permitted function or component of the electronic device 330, and permission for the electronic device 330 to use And may include a service that represents at least one permitted application (or application program). According to one embodiment, the electronic device 330 may download and use at least one application while the MDM is being applied. According to one embodiment, the information associated with the license may be provided as an object including permissions and services. According to one embodiment, the object may have a JavaScript Object Notation (JSON) file format.
이상에서 살펴본 바와 같이, 다양한 실시 예들에 따른 시스템(예: 라이선스를 운영하는 서버로, 예를 들면, 제조사 서버(320))의 동작 방법은, MDM(mobile device management)이 적용되는 전자 장치(330)로부터 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 수신하는 동작, 상기 라이선스의 인증을 수행하는 동작, 및 상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 상기 전자 장치(330)에 제공하는 동작을 포함하고, 상기 정보는, 상기 전자 장치(330)의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치(330)가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램(application program)(325)을 나타내는 서비스(service)를 포함하고, 상기 전자 장치는 상기 적어도 하나의 어플리케이션 프로그램을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작될 수 있다.As described above, a method of operating a system according to various embodiments (e.g., a server operating a license, for example, a manufacturer server 320) may be implemented by an electronic device 330 Receiving, by the network interface, information relating to the license to the electronic device (330); receiving, via the network interface, a request for authenticating a license through a network interface; performing an authentication of the license; Wherein the information includes permission to indicate at least one permitted function or component of the electronic device 330 and to permit the electronic device 330 to use Wherein the at least one application comprises a service that represents at least one application program (325) And may be operated based on whether the service is permitted when the application program is downloaded.
다양한 실시 예들에 따라, 상기 정보는, 상기 퍼미션과 상기 서비스를 포함하는 오브젝트(object)를 포함할 수 있다.According to various embodiments, the information may include an object including the permission and the service.
다양한 실시 예들에 따라, 상기 오브젝트는, JSON(JavaScript Object Notation) 파일 형식(format)일 수 있다.According to various embodiments, the object may be a JavaScript Object Notation (JSON) file format.
다양한 실시 예들에 따라, 상기 오브젝트는, ID, 상태(state), 발행일(issue date), 만료일(expiration date), 라이선스 타입(license type), 업로드 시간(upload time), 또는 업로드 빈도(upload frequency) 중 적어도 하나를 더 포함할 수 있다.According to various embodiments, the object may include an ID, a state, an issue date, an expiration date, a license type, an upload time, or an upload frequency, As shown in FIG.
다양한 실시 예들에 따라, 상기 서버(320)는, 상기 MDM을 제공하는 적어도 하나의 서버(예: 포털 서버(321), GSLB 서버(323), 라이선스 서버(325))를 포함하고, 상기 서버(320)는, MDM 구축을 벤더(310)로부터 위한 라이선스 키에 대한 요청을 수신하는 동작, 상기 요청에 대응하여 상기 퍼미션과 상기 서비스를 포함하는 라이선스 키를 생성하는 동작, 및 상기 생성된 라이선스 키를 상기 벤더(310)에 제공하는 동작을 포함할 수 있다.According to various embodiments, the server 320 includes at least one server (e.g., a portal server 321, a GSLB server 323, a license server 325) that provides the MDM, 320) comprises: receiving a request for a license key from the vendor 310 to build an MDM; generating a license key including the permission and the service corresponding to the request; and generating the generated license key To the vendor (310).
이상에서 살펴본 바와 같이, 다양한 실시 예들에 따른 MDM(mobile device management)을 이용하는 전자 장치(330)의 동작 방법은, 어플리케이션 프로그램(application program)(325) 실행 시에, 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 서버(320)로 전송하는 동작, 및 상기 서버(320)로부터 상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 수신하는 동작을 포함하고, 상기 정보는, 상기 전자 장치(330)의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치(330)가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램을 나타내는 서비스(service)를 포함하고, 상기 전자 장치는 상기 적어도 하나의 어플리케이션 프로그램을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작될 수 있다.As described above, the operation method of the electronic device 330 using the mobile device management (MDM) according to various embodiments is a method of licensing through the network interface when the application program 325 is executed, To the server (320), and receiving, via the network interface from the server (320), information related to the license, the information including information about the electronic device (330) A permission to indicate at least one permitted function or component of the electronic device 330 and a service to indicate at least one application program that the electronic device 330 is allowed to use, , The electronic device downloads the at least one application program and the application program During running it can be operated on the basis of whether or not to allow the said service.
다양한 실시 예들에 따라, 상기 정보는, 상기 퍼미션과 상기 서비스를 포함하는 오브젝트(object)를 포함할 수 있다.According to various embodiments, the information may include an object including the permission and the service.
다양한 실시 예들에 따라, 상기 오브젝트는, JSON(JavaScript Object Notation) 파일 형식(format)일 수 있다.According to various embodiments, the object may be a JavaScript Object Notation (JSON) file format.
다양한 실시 예들에 따라, 상기 오브젝트는, ID, 상태(state), 발행일(issue date), 만료일(expiration date), 라이선스 타입(license type), 업로드 시간(upload time), 또는 업로드 빈도(upload frequency) 중 적어도 하나를 더 포함할 수 있다.According to various embodiments, the object may include an ID, a state, an issue date, an expiration date, a license type, an upload time, or an upload frequency, As shown in FIG.
다양한 실시 예들에 따라, 상기 라이선스는, 상기 라이선스를 상기 서버로부터 수신하여 배포하는 벤더로부터 획득될 수 있다.According to various embodiments, the license may be obtained from a vendor that receives and distributes the license from the server.
본 명세서와 도면에 개시된 본 발명의 다양한 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The various embodiments of the present invention disclosed in the present specification and drawings are merely illustrative examples of the present invention and are not intended to limit the scope of the present invention in order to facilitate understanding of the present invention. Accordingly, the scope of the present invention should be construed as being included in the scope of the present invention, all changes or modifications derived from the technical idea of the present invention.

Claims (15)

  1. 시스템에 있어서,In the system,
    네트워크 인터페이스;Network interface;
    상기 네트워크 인터페이스에 동작적으로 연결된 적어도 하나의 프로세서; 및At least one processor operatively coupled to the network interface; And
    상기 프로세서에 동작적으로(operatively) 연결된 적어도 하나의 메모리, 상기 메모리는, 실행 시에, 상기 프로세서가,At least one memory operatively coupled to the processor, the memory including, in execution,
    MDM(mobile device management)이 적용되는 전자 장치로부터 상기 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 수신하고,Receiving a request to authenticate a license from the electronic device to which the mobile device management (MDM) is applied through the network interface,
    상기 라이선스의 인증을 수행하고, 및Perform the authentication of the license, and
    상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 상기 전자 장치에 제공하도록 하는 인스트럭션들(instructions)을 저장하고, Via the network interface, instructions for providing information related to the license to the electronic device,
    상기 정보는, 상기 전자 장치의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램(application program)을 나타내는 서비스(service)를 포함하고,Wherein the information includes at least one of an authorization to indicate at least one permitted function or component of the electronic device and at least one application program authorized to use the electronic device, Service,
    상기 전자 장치는, 상기 적어도 하나의 어플리케이션 프로그램을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작되는 시스템.Wherein the electronic device is operated based on whether the service is allowed when downloading the at least one application program and executing the application program.
  2. 제1항에 있어서, 상기 정보는,The information processing apparatus according to claim 1,
    상기 퍼미션과 상기 서비스를 포함하는 오브젝트(object)를 포함하는 시스템.And an object including the permission and the service.
  3. 제2항에 있어서, 상기 오브젝트는, 3. The method according to claim 2,
    JSON(JavaScript Object Notation) 파일 형식(format)인 시스템.A system that is a JavaScript Object Notation (JSON) file format.
  4. 제3항에 있어서, 상기 오브젝트는, 4. The method according to claim 3,
    ID, 상태(state), 발행일(issue date), 만료일(expiration date), 라이선스 타입(license type), 업로드 시간(upload time), 또는 업로드 빈도(upload frequency) 중 적어도 하나를 더 포함하는 시스템.Wherein the system further comprises at least one of an ID, a state, an issue date, an expiration date, a license type, an upload time, or an upload frequency.
  5. 제1항에 있어서, 상기 시스템은,The system of claim 1,
    상기 MDM을 제공하는 적어도 하나의 서버를 포함하고,And at least one server providing the MDM,
    상기 서버는, MDM 구축을 벤더로부터 위한 라이선스 키에 대한 요청을 수신하고,The server receives a request for a license key from a vendor to build an MDM,
    상기 요청에 대응하여 상기 퍼미션과 상기 서비스를 포함하는 라이선스 키를 생성하고,Generating a license key including the permission and the service in response to the request,
    상기 생성된 라이선스 키를 상기 벤더에 제공하는 시스템.And provides the generated license key to the vendor.
  6. MDM(mobile device management)을 이용하는 전자 장치에 있어서,An electronic device using mobile device management (MDM)
    네트워크 인터페이스;Network interface;
    상기 네트워크 인터페이스에 동작적으로 연결된 적어도 하나의 프로세서; 및At least one processor operatively coupled to the network interface; And
    상기 프로세서에 동작적으로 연결된 적어도 하나의 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, And at least one memory operatively coupled to the processor, wherein the memory, upon execution,
    어플리케이션 프로그램(application program) 실행 시에, 상기 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 서버로 전송하고,A program for transmitting a request for authenticating a license through the network interface to a server when an application program is executed,
    상기 서버로부터 상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 수신하도록 하는 인스트럭션들(instructions)을 저장하고,Storing instructions from the server, via the network interface, to receive information related to the license,
    상기 정보는, 상기 전자 장치의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램을 나타내는 서비스(service)를 포함하고,Wherein the information includes at least one of a permission indicating at least one permitted function or component of the electronic device and a service indicating at least one application program allowed to be used by the electronic device. Lt; / RTI &gt;
    상기 전자 장치는 상기 적어도 하나의 어플리케이션 프로그램을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작되는 전자 장치.Wherein the electronic device is operable to download the at least one application program and to operate based on whether the service is permitted when the application program is executed.
  7. 제6항에 있어서, 상기 정보는,7. The method of claim 6,
    상기 퍼미션과 상기 서비스를 포함하는 오브젝트(object)를 포함하는 전자 장치.And an object including the permission and the service.
  8. 제7항에 있어서, 상기 오브젝트는,8. The method of claim 7,
    JSON(JavaScript Object Notation) 파일 형식(format)인 전자 장치.An electronic device that is a JavaScript Object Notation (JSON) file format.
  9. 제6항에 있어서, 상기 오브젝트는, 7. The method according to claim 6,
    ID, 상태(state), 발행일(issue date), 만료일(expiration date), 라이선스 타입(license type), 업로드 시간(upload time), 또는 업로드 빈도(upload frequency) 중 적어도 하나를 더 포함하는 전자 장치.Further comprising at least one of an ID, a state, an issue date, an expiration date, a license type, an upload time, or an upload frequency.
  10. 제6항에 있어서, 상기 라이선스는,7. The method of claim 6,
    상기 라이선스를 상기 서버로부터 수신하여 배포하는 벤더로부터 획득되는 전자 장치.The electronic device being obtained from a vendor that receives and distributes the license from the server.
  11. MDM(mobile device management)을 이용하는 전자 장치의 동작 방법에 있어서,A method of operating an electronic device using mobile device management (MDM)
    어플리케이션 프로그램(application program) 실행 시에, 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 서버로 전송하는 동작, 및Transmitting, upon execution of an application program, a request for authenticating a license via a network interface to a server; and
    상기 서버로부터 상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 수신하는 동작을 포함하고,Receiving, via the network interface, information relating to the license from the server,
    상기 정보는, 상기 전자 장치의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램을 나타내는 서비스(service)를 포함하고,Wherein the information includes at least one of a permission indicating at least one permitted function or component of the electronic device and a service indicating at least one application program allowed to be used by the electronic device. Lt; / RTI &gt;
    상기 전자 장치는 상기 적어도 하나의 어플리케이션 프로그램을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작되는 방법.Wherein the electronic device is operative to download the at least one application program and to operate based on whether the service is allowed when the application program is executed.
  12. 제11항에 있어서, 상기 정보는,12. The method of claim 11,
    상기 퍼미션과 상기 서비스를 포함하는 오브젝트(object)를 포함하는 방법.And an object including the permission and the service.
  13. 제12항에 있어서, 상기 오브젝트는,13. The method according to claim 12,
    JSON(JavaScript Object Notation) 파일 형식(format)인 방법.JavaScript Object Notation (JSON) file format.
  14. 제11항에 있어서, 상기 오브젝트는, 12. The method according to claim 11,
    ID, 상태(state), 발행일(issue date), 만료일(expiration date), 라이선스 타입(license type), 업로드 시간(upload time), 또는 업로드 빈도(upload frequency) 중 적어도 하나를 더 포함하는 방법.Further comprising at least one of an ID, a state, an issue date, an expiration date, a license type, an upload time, or an upload frequency.
  15. 제11항에 있어서, 상기 라이선스는,12. The method of claim 11,
    상기 라이선스를 상기 서버로부터 수신하여 배포하는 벤더로부터 획득되는 방법.Wherein the license is obtained from a vendor that receives and distributes the license from the server.
PCT/KR2018/012099 2017-10-23 2018-10-15 System for controlling security service and operating method thereof WO2019083210A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170137202A KR20190044815A (en) 2017-10-23 2017-10-23 System for manageing security license for controlling security service and method for operating thereof
KR10-2017-0137202 2017-10-23

Publications (1)

Publication Number Publication Date
WO2019083210A1 true WO2019083210A1 (en) 2019-05-02

Family

ID=66246929

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/012099 WO2019083210A1 (en) 2017-10-23 2018-10-15 System for controlling security service and operating method thereof

Country Status (2)

Country Link
KR (1) KR20190044815A (en)
WO (1) WO2019083210A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101210193B1 (en) * 2011-07-29 2012-12-07 주식회사 포스코아이씨티 Method and system for managing security of mobile device
KR20140014576A (en) * 2012-07-25 2014-02-06 현대오토에버 주식회사 System for mobile device management in place of business
KR20140058623A (en) * 2011-08-10 2014-05-14 퀄컴 인코포레이티드 Method and apparatus for providing a secure virtual environment on a mobile device
KR20140105318A (en) * 2013-02-22 2014-09-01 삼성전자주식회사 device and server for applying security policy and method for controlling thereof
US20170300668A1 (en) * 2016-04-14 2017-10-19 NetSuite Inc. System and methods for provisioning and monitoring licensing of applications or extensions to applications on a multi-tenant platform

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101210193B1 (en) * 2011-07-29 2012-12-07 주식회사 포스코아이씨티 Method and system for managing security of mobile device
KR20140058623A (en) * 2011-08-10 2014-05-14 퀄컴 인코포레이티드 Method and apparatus for providing a secure virtual environment on a mobile device
KR20140014576A (en) * 2012-07-25 2014-02-06 현대오토에버 주식회사 System for mobile device management in place of business
KR20140105318A (en) * 2013-02-22 2014-09-01 삼성전자주식회사 device and server for applying security policy and method for controlling thereof
US20170300668A1 (en) * 2016-04-14 2017-10-19 NetSuite Inc. System and methods for provisioning and monitoring licensing of applications or extensions to applications on a multi-tenant platform

Also Published As

Publication number Publication date
KR20190044815A (en) 2019-05-02

Similar Documents

Publication Publication Date Title
WO2016036115A1 (en) Electronic device and method for managing re-registration
WO2019164339A1 (en) Electronic device and method for sharing screen data
WO2016137307A1 (en) Attestation by proxy
WO2019172641A1 (en) Electronic device and method for managing electronic key thereof
WO2017122980A1 (en) Electronic device and method for authenticating identification information thereof
WO2019059596A1 (en) Apparatus and method for managing software updates of electronic devices
WO2019164264A1 (en) Electronic apparatus and operating method thereof
WO2018080198A1 (en) Electronic device and method for performing authentication
WO2019182309A1 (en) Method and server for setting communication network of home appliances
WO2020032353A1 (en) Electronic device, external electronic device, and method for managing esim of external electronic device
WO2021187818A1 (en) Electronic device, and method for partially operating theme of electronic device
WO2021141213A1 (en) Server for changing telecommunication fee system of terminal and operation method thereof
WO2021060745A1 (en) Electronic device for updating firmware by using security integrated circuit and operation method thereof
WO2015005744A1 (en) Electronic device and method for suggesting response manual in occurrence of denial
WO2018079999A1 (en) Electronic device and method for operating the same
WO2020027461A1 (en) Electronic device and emergency call processing method in electronic device
WO2021006574A1 (en) Method and apparatus for managing application
WO2020111488A1 (en) Electronic device, server, and operation method for registering iot device
WO2019039706A1 (en) Electronic device and data management method thereof
WO2020149555A1 (en) Electronic device for selecting key to be used for encryption on basis of amount of information of data to be encrypted, and operation method of electronic device
WO2019164204A1 (en) Electronic device and operating method therefor
WO2018169323A1 (en) Electronic device and control method therefor
WO2019194427A1 (en) Electronic device for managing application relating to key of external electronic device, and operating method of electronic device
WO2019151667A1 (en) Apparatus and method for transmitting personal information using automatic response system
WO2019147029A1 (en) Method for receiving merchant information and electronic device using same

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18870318

Country of ref document: EP

Kind code of ref document: A1