WO2021241849A1 - 에지 컴퓨팅 서비스를 수행하는 전자 장치 및 전자 장치의 동작 방법 - Google Patents

에지 컴퓨팅 서비스를 수행하는 전자 장치 및 전자 장치의 동작 방법 Download PDF

Info

Publication number
WO2021241849A1
WO2021241849A1 PCT/KR2021/002091 KR2021002091W WO2021241849A1 WO 2021241849 A1 WO2021241849 A1 WO 2021241849A1 KR 2021002091 W KR2021002091 W KR 2021002091W WO 2021241849 A1 WO2021241849 A1 WO 2021241849A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
application
data
electronic device
service
Prior art date
Application number
PCT/KR2021/002091
Other languages
English (en)
French (fr)
Inventor
이원보
김진형
김태완
김홍식
신안식
이상철
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to EP21812760.3A priority Critical patent/EP4142236A4/en
Priority to CN202180038320.4A priority patent/CN115918031A/zh
Publication of WO2021241849A1 publication Critical patent/WO2021241849A1/ko
Priority to US17/986,497 priority patent/US20230100148A1/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0431Key distribution or pre-distribution; Key agreement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/088Access security using filters or firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/106Packet or message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/108Source integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/30Types of network names
    • H04L2101/365Application layer names, e.g. buddy names, unstructured names chosen by a user or home appliance name
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Definitions

  • Various embodiments of the present disclosure relate to an electronic device and an operating method of the electronic device, and to an electronic device that performs an edge computing service.
  • the 5G communication system is called a system after the 4G network (Beyond 4G Network) communication system or after the LTE system (Post LTE).
  • the 5G communication system is being considered for implementation in a higher frequency band (such as, for example, a 60 gigabyte (60 GHz) band) in addition to the band below 6G.
  • a higher frequency band such as, for example, a 60 gigabyte (60 GHz) band
  • beamforming, massive MIMO, Full Dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, and large scale antenna technologies are being discussed.
  • the edge computing service implements an edge network system in an area close to the base station, and an electronic device connected to the base station can receive various services using the edge network system implemented in an area close to the base station.
  • the edge computing service may reduce the distance between the user's electronic device and the network, and may provide a high-speed service due to the reduced distance.
  • the electronic device capable of performing the edge computing service may detect a connection request of the edge computing service of a specific application, and may receive information about a server capable of performing the edge computing service from the edge data network. The electronic device may connect to the edge data network based on the information on the server.
  • the information on the server may include identification information on an application that can use the edge computing service.
  • the electronic device may check whether the identification information of the application matches the identification information of the application that has made a connection request for the edge computing service, and may provide the edge computing service.
  • Application identification information is implemented as the name of an application with relatively low reliability. Accordingly, if the application that requested the edge computing service connection has the same name as the valid application, but is an invalid application, the electronic device may not be able to prevent the invalid application from performing the edge computing service.
  • An electronic device may include: a memory for storing application-related data, an application, and/or an edge enabler client (EEC); a communication circuit for use in a communication connection between the electronic device and a first server, a second server and/or a third server external to the electronic device via a base station; and a processor, wherein the application is configured to perform one or more functions corresponding to an application that can be executed on the third server on the electronic device, and the processor is configured to perform one or more functions from the first server and/or the second server 3
  • the application is configured to perform one or more functions corresponding to an application that can be executed on the third server on the electronic device, and the processor is configured to perform one or more functions from the first server and/or the second server 3
  • data for validating the application included in the access information of the third server and the application In response to receiving the access information of the server, and in response to a service connection request using the third server of the application stored in the memory, data for validating the application included in the access information of the third server and the application
  • a method of operating an electronic device may include: receiving, from a first server, access information of a second server for accessing a second server; receiving access information of a third server from the second server accessed based on the access information of the second server; checking the validity of the application based on data for validating the application included in the access information of the third server in response to a service connection request using the third server of the application; and performing the service by accessing the third server based on a result of checking the validity of the application.
  • the electronic device and the method of operating the electronic device may verify the validity of an application that has made a connection request for the edge computing service, and may provide the edge computing service based on the verification result. Accordingly, the electronic device and the method of operating the electronic device may provide an edge computing service with improved security.
  • An electronic device and a method of operating an electronic device verify the validity of the application using hash data of the application, which is information with high security, in verifying the validity of the application that has made a connection request for the edge computing service. It is possible to verify and provide an edge computing service based on the verification result. Accordingly, the electronic device and the method of operating the electronic device may provide an edge computing service with improved security.
  • An electronic device and a method of operating the electronic device use signature data obtained by encrypting hash data of an application, which is information with high security, in verifying the validity of an application that has made a connection request for an edge computing service. In this way, the validity of the application can be verified, and an edge computing service can be provided based on the verification result. Accordingly, the electronic device and the method of operating the electronic device may provide an edge computing service with improved security.
  • FIG. 1 is a block diagram of an electronic device according to various embodiments of the present disclosure.
  • FIG. 2 is a block diagram of an electronic device according to various embodiments of the present disclosure.
  • FIG. 3 is a block diagram illustrating a program according to various embodiments of the present invention.
  • FIG. 4 is a block diagram illustrating a network system according to various embodiments of the present invention.
  • FIG. 5 is a diagram illustrating an electronic device and an edge network according to various embodiments of the present disclosure.
  • FIG. 6 is a diagram illustrating an embodiment in which an electronic device performs a service using a third server based on validation of an application according to various embodiments of the present disclosure
  • FIG. 7 is an operation flowchart illustrating an operation in which an electronic device performs a service using a third server based on validation of an application according to various embodiments of the present disclosure
  • FIG. 8 is a diagram illustrating an embodiment in which an electronic device performs application validation, according to various embodiments of the present disclosure
  • FIG. 9 is a diagram illustrating an embodiment in which an electronic device performs validation of an application using a decryption key received from a first server according to various embodiments of the present disclosure
  • FIG. 10 is a diagram illustrating an embodiment in which an electronic device performs validation of an application using a decryption key generated by an external server managing a certificate according to various embodiments of the present disclosure.
  • FIG. 11 is a diagram illustrating an embodiment in which an electronic device sets a data transmission path based on a validation result of an application according to various embodiments of the present disclosure
  • FIG. 12 is an operation flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure.
  • FIG. 1 is a block diagram of an electronic device 101 in a network environment 100 according to various embodiments of the present disclosure.
  • an electronic device 101 communicates with an electronic device 102 through a first network 198 (eg, a short-range wireless communication network) or a second network 199 . It may communicate with the electronic device 104 or the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 .
  • a first network 198 eg, a short-range wireless communication network
  • a second network 199 e.g., a second network 199
  • the electronic device 101 may communicate with the electronic device 104 through the server 108 .
  • the electronic device 101 includes a processor 120 , a memory 130 , an input device 150 , a sound output device 155 , a display device 160 , an audio module 170 , and a sensor module ( 176 , interface 177 , haptic module 179 , camera module 180 , power management module 188 , battery 189 , communication module 190 , subscriber identification module 196 , or antenna module 197 . ) may be included. In some embodiments, at least one of these components (eg, the display device 160 or the camera module 180 ) may be omitted or one or more other components may be added to the electronic device 101 . In some embodiments, some of these components may be implemented as one integrated circuit. For example, the sensor module 176 (eg, a fingerprint sensor, an iris sensor, or an illuminance sensor) may be implemented while being embedded in the display device 160 (eg, a display).
  • the sensor module 176 eg, a fingerprint sensor, an iris sensor, or an illuminance sensor
  • the processor 120 for example, executes software (eg, the program 140 ) to execute at least one other component (eg, a hardware or software component) of the electronic device 101 connected to the processor 120 . It can control and perform various data processing or operations. According to one embodiment, as at least part of data processing or operation, the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 . may be loaded into the volatile memory 132 , and may process commands or data stored in the volatile memory 132 , and store the resulting data in the non-volatile memory 134 .
  • software eg, the program 140
  • the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 .
  • the volatile memory 132 may be loaded into the volatile memory 132 , and may process commands or data stored in the volatile memory 132 , and store the resulting data in the non-volatile memory 134
  • the processor 120 includes a main processor 121 (eg, a central processing unit or an application processor), and a secondary processor 123 (eg, a graphic processing unit, an image signal processor) that can operate independently or together with the main processor 121 . , a sensor hub processor, or a communication processor). Additionally or alternatively, the auxiliary processor 123 may be configured to use less power than the main processor 121 or to be specialized for a specified function. The auxiliary processor 123 may be implemented separately from or as a part of the main processor 121 .
  • a main processor 121 eg, a central processing unit or an application processor
  • a secondary processor 123 eg, a graphic processing unit, an image signal processor
  • the auxiliary processor 123 may be configured to use less power than the main processor 121 or to be specialized for a specified function.
  • the auxiliary processor 123 may be implemented separately from or as a part of the main processor 121 .
  • the auxiliary processor 123 is, for example, on behalf of the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state, or the main processor 121 is active (eg, executing an application). ), together with the main processor 121, at least one of the components of the electronic device 101 (eg, the display device 160, the sensor module 176, or the communication module 190) It is possible to control at least some of the related functions or states.
  • the co-processor 123 eg, an image signal processor or a communication processor
  • may be implemented as part of another functionally related component eg, the camera module 180 or the communication module 190. have.
  • the memory 130 may store various data used by at least one component of the electronic device 101 (eg, the processor 120 or the sensor module 176 ).
  • the data may include, for example, input data or output data for software (eg, the program 140 ) and instructions related thereto.
  • the memory 130 may include a volatile memory 132 or a non-volatile memory 134 .
  • the program 140 may be stored as software in the memory 130 , and may include, for example, an operating system 142 , middleware 144 , or an application 146 .
  • the input device 150 may receive a command or data to be used in a component (eg, the processor 120 ) of the electronic device 101 from the outside (eg, a user) of the electronic device 101 .
  • the input device 150 may include, for example, a microphone, a mouse, a keyboard, or a digital pen (eg, a stylus pen).
  • the sound output device 155 may output a sound signal to the outside of the electronic device 101 .
  • the sound output device 155 may include, for example, a speaker or a receiver.
  • the speaker can be used for general purposes such as multimedia playback or recording playback, and the receiver can be used to receive an incoming call. According to one embodiment, the receiver may be implemented separately from or as part of the speaker.
  • the display device 160 may visually provide information to the outside of the electronic device 101 (eg, a user).
  • the display device 160 may include, for example, a display, a hologram device, or a projector and a control circuit for controlling the corresponding device.
  • the display device 160 may include a touch circuitry configured to sense a touch or a sensor circuit (eg, a pressure sensor) configured to measure the intensity of a force generated by the touch. have.
  • the audio module 170 may convert a sound into an electric signal or, conversely, convert an electric signal into a sound. According to an embodiment, the audio module 170 acquires a sound through the input device 150 , or an external electronic device (eg, a sound output device 155 ) connected directly or wirelessly with the electronic device 101 . The sound may be output through the electronic device 102 (eg, a speaker or headphones).
  • an external electronic device eg, a sound output device 155
  • the sound may be output through the electronic device 102 (eg, a speaker or headphones).
  • the sensor module 176 detects an operating state (eg, power or temperature) of the electronic device 101 or an external environmental state (eg, user state), and generates an electrical signal or data value corresponding to the sensed state. can do.
  • the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, a humidity sensor, or an illuminance sensor.
  • the interface 177 may support one or more specified protocols that may be used by the electronic device 101 to directly or wirelessly connect with an external electronic device (eg, the electronic device 102 ).
  • the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
  • the connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102 ).
  • the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
  • the haptic module 179 may convert an electrical signal into a mechanical stimulus (eg, vibration or movement) or an electrical stimulus that the user can perceive through 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 may capture still images and moving images. According to an embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the power management module 188 may manage power supplied to the electronic device 101 .
  • the power management module 388 may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 189 may supply power to at least one component of the electronic device 101 .
  • battery 189 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
  • the communication module 190 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (eg, the electronic device 102, the electronic device 104, or the server 108). It can support establishment and communication performance through the established communication channel.
  • the communication module 190 may include one or more communication processors that operate independently of the processor 120 (eg, an application processor) and support direct (eg, wired) communication or wireless communication.
  • the communication module 190 is a wireless communication module 192 (eg, 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 (eg, : It may include a LAN (local area network) communication module, or a power line communication module).
  • GNSS global navigation satellite system
  • a corresponding communication module is a first network 198 (eg, a short-range communication network such as Bluetooth, WiFi direct, or IrDA (infrared data association)) or a second network 199 (eg, a cellular network, the Internet, or It can communicate with an external electronic device through a computer network (eg, a telecommunication network such as a LAN or WAN).
  • a computer network eg, a telecommunication network such as a LAN or WAN.
  • These various types of communication modules may be integrated into one component (eg, a single chip) or may be implemented as a plurality of components (eg, multiple chips) separate from each other.
  • the wireless communication module 192 uses the subscriber information (eg, International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199 .
  • the electronic device 101 may be identified and authenticated.
  • the antenna module 197 may transmit or receive a signal or power to the outside (eg, an external electronic device).
  • the antenna module may include one antenna including a conductor formed on a substrate (eg, a PCB) or a radiator formed of a conductive pattern.
  • the antenna module 197 may include a plurality of antennas. In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is connected from the plurality of antennas by, for example, the communication module 190 . can be selected. A signal or power may be transmitted or received between the communication module 190 and an external electronic device through the selected at least one antenna.
  • other components eg, RFIC
  • other than the radiator may be additionally formed as a part of the antenna module 197 .
  • peripheral devices eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
  • GPIO general purpose input and 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 through the server 108 connected to the second network 199 .
  • Each of the electronic devices 102 and 104 may be the same or a different type of the electronic device 101 .
  • all or a part of operations executed by the electronic device 101 may be executed by one or more of the external electronic devices 102 , 104 , or 108 .
  • the electronic device 101 may perform the function or service itself instead of executing the function or service itself.
  • one or more external electronic devices may be requested to perform at least a part of the function or the service.
  • One or more external electronic devices that have received the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit a result of the execution to the electronic device 101 .
  • the electronic device 101 may process the result as it is or additionally and provide it as at least a part of a response to the request.
  • cloud computing, distributed computing, or client-server computing technology may be used.
  • the electronic device 101 includes a first communication processor 212 , a second communication processor 214 , a first radio frequency integrated circuit (RFIC) 222 , a second RFIC 224 , and a third RFIC 226 , a fourth RFIC 228 , a first radio frequency front end (RFFE) 232 , a second RFFE 234 , a first antenna module 242 , a second antenna module 244 , and an antenna (248) may be included.
  • the electronic device 101 may further include a processor 120 and a memory 130 .
  • the network 199 may include a first network 292 and a second network 294 .
  • the electronic device 101 may further include at least one component among the components illustrated in FIG. 1 , and the network 199 may further include at least one other network.
  • a first communication processor 212 , a second communication processor 214 , a first RFIC 222 , a second RFIC 224 , a fourth RFIC 228 , a first RFFE 232 , and the second RFFE 234 may form at least a part of the wireless communication module 192 .
  • the fourth RFIC 228 may be omitted or may be included as a part of the third RFIC 226 .
  • the first communication processor 212 may support establishment of a communication channel of a band to be used for wireless communication with the first network 292 and legacy network communication through the established communication channel.
  • the first network may be a legacy network including a second generation (2G), 3G, 4G, or long term evolution (LTE) network.
  • the second communication processor 214 establishes a communication channel corresponding to a designated band (eg, about 6 GHz to about 60 GHz) among bands to be used for wireless communication with the second network 294, and 5G network communication through the established communication channel can support
  • the second network 294 may be a 5G network defined by 3GPP.
  • the first communication processor 212 or the second communication processor 214 is configured to correspond to another designated band (eg, about 6 GHz or less) among bands to be used for wireless communication with the second network 294 . It is possible to support the establishment of a communication channel, and 5G network communication through the established communication channel.
  • the first communication processor 212 and the second communication processor 214 may be implemented in a single chip or a single package.
  • the first communication processor 212 or the second communication processor 214 may be formed in a single chip or a single package with the processor 120 , the co-processor 123 , or the communication module 190 . have.
  • the first RFIC 222 when transmitting, transmits a baseband signal generated by the first communication processor 212 to about 700 MHz to about 3 GHz used in the first network 292 (eg, a legacy network). can be converted to a radio frequency (RF) signal of Upon reception, an RF signal is obtained from a first network 292 (eg, a legacy network) via an antenna (eg, a first antenna module 242 ) and via an RFFE (eg, a first RFFE 232 ). It may be preprocessed. The first RFIC 222 may convert the preprocessed RF signal into a baseband signal to be processed by the first communication processor 212 .
  • RF radio frequency
  • the second RFIC 224 when transmitting, transmits the baseband signal generated by the first communication processor 212 or the second communication processor 214 to the second network 294 (eg, a 5G network). It can be converted into an RF signal (hereinafter, 5G Sub6 RF signal) of the Sub6 band (eg, about 6 GHz or less).
  • 5G Sub6 RF signal RF signal
  • a 5G Sub6 RF signal is obtained from the second network 294 (eg, 5G network) via an antenna (eg, second antenna module 244 ), and RFFE (eg, second RFFE 234 ) can be pre-processed.
  • the second RFIC 224 may convert the preprocessed 5G Sub6 RF signal into a baseband signal to be processed by a corresponding one of the first communication processor 212 or the second communication processor 214 .
  • the third RFIC 226 transmits the baseband signal generated by the second communication processor 214 to the RF of the 5G Above6 band (eg, about 6 GHz to about 60 GHz) to be used in the second network 294 (eg, 5G network). It can be converted into a signal (hereinafter referred to as 5G Above6 RF signal).
  • a 5G Above6 RF signal may be obtained from the second network 294 (eg, 5G network) via an antenna (eg, antenna 248 ) and pre-processed via a third RFFE 236 .
  • the third RFIC 226 may convert the preprocessed 5G Above6 RF signal into a baseband signal to be processed by the second communication processor 214 .
  • the third RFFE 236 may be formed as part of the third RFIC 226 .
  • the electronic device 101 may include the fourth RFIC 228 separately from or as at least a part of the third RFIC 226 .
  • the fourth RFIC 228 converts the baseband signal generated by the second communication processor 214 into an RF signal (hereinafter, IF signal) of an intermediate frequency band (eg, about 9 GHz to about 11 GHz). After conversion, the IF signal may be transmitted to the third RFIC 226 .
  • the third RFIC 226 may convert the IF signal into a 5G Above6 RF signal.
  • a 5G Above6 RF signal may be received from the second network 294 (eg, 5G network) via an antenna (eg, antenna 248 ) and converted to an IF signal by a third RFIC 226 .
  • the fourth RFIC 228 may convert the IF signal into a baseband signal for processing by the second communication processor 214 .
  • the first RFIC 222 and the second RFIC 224 may be implemented as at least a part of a single chip or a single package.
  • the first RFFE 232 and the second RFFE 234 may be implemented as at least a part of a single chip or a single package.
  • at least one antenna module of the first antenna module 242 or the second antenna module 244 may be omitted or may be combined with another antenna module to process RF signals of a plurality of corresponding bands.
  • the third RFIC 226 and the antenna 248 may be disposed on the same substrate to form the third antenna module 246 .
  • the wireless communication module 192 or the processor 120 may be disposed on the first substrate (eg, main PCB).
  • the third RFIC 226 is located in a partial area (eg, the bottom surface) of the second substrate (eg, sub PCB) separate from the first substrate, and the antenna 248 is located in another partial region (eg, the top surface). is disposed, the third antenna module 246 may be formed.
  • a high-frequency band eg, about 6 GHz to about 60 GHz
  • the electronic device 101 may improve the quality or speed of communication with the second network 294 (eg, a 5G network).
  • the antenna 248 may be formed as an antenna array including a plurality of antenna elements that can be used for beamforming.
  • the third RFIC 226 may include, for example, as a part of the third RFFE 236 , a plurality of phase shifters 238 corresponding to a plurality of antenna elements.
  • each of the plurality of phase shifters 238 may transform the phase of a 5G Above6 RF signal to be transmitted to the outside of the electronic device 101 (eg, a base station of a 5G network) through a corresponding antenna element. .
  • each of the plurality of phase shifters 238 may convert the phase of the 5G Above6 RF signal received from the outside through a corresponding antenna element into the same or substantially the same phase. This enables transmission or reception through beamforming between the electronic device 101 and the outside.
  • the second network 294 may be operated independently (eg, Stand-Alone (SA)) or connected to the first network 292 (eg, legacy network) (eg: Non-Stand Alone (NSA)).
  • SA Stand-Alone
  • legacy network eg: Non-Stand Alone
  • the 5G network may have only an access network (eg, a 5G radio access network (RAN) or a next generation RAN (NG RAN)), and may not have a core network (eg, a next generation core (NGC)).
  • the electronic device 101 may access an external network (eg, the Internet) under the control of a core network (eg, evolved packed core (EPC)) of the legacy network.
  • EPC evolved packed core
  • Protocol information for communication with a legacy network eg, LTE protocol information
  • protocol information for communication with a 5G network eg, New Radio (NR) protocol information
  • NR New Radio
  • FIG. 3 is a block diagram 300 illustrating a program 140 in accordance with various embodiments.
  • the program 140 executes an operating system 142 for controlling one or more resources of the electronic device 101 , middleware 144 , or an application 146 executable in the operating system 142 .
  • Operating system 142 may include, for example, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, or BadaTM.
  • At least some of the programs 140 are, for example, preloaded into the electronic device 101 at the time of manufacture, or an external electronic device (eg, the electronic device 102 or 104 ), or a server (eg, the electronic device 102 or 104 ) when used by a user ( 108)) or may be updated.
  • the operating system 142 may control management (eg, allocation or retrieval) of one or more system resources (eg, a process, 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 , for example, the input device 150 , the sound output device 155 , the display device 160 , and the audio module 170 . , sensor module 176 , interface 177 , haptic module 179 , camera module 180 , power management module 188 , battery 189 , communication module 190 , subscriber identification module 196 , or It may include one or more driver programs for driving the antenna module 197 .
  • the middleware 144 may provide various functions to the application 146 so that functions or information provided from one or more resources of the electronic device 101 may be used by the application 146 .
  • the middleware 144 includes, for example, an application manager 301 , a window manager 303 , a multimedia manager 305 , a resource manager 307 , a power manager 309 , a database manager 311 , and a package manager 313 . ), a connectivity manager 315 , a notification manager 317 , a location manager 319 , a graphics manager 321 , a security manager 323 , a call manager 325 , or a voice recognition manager 327 .
  • an application manager 301 includes, for example, an application manager 301 , a window manager 303 , a multimedia manager 305 , a resource manager 307 , a power manager 309 , a database manager 311 , and a package manager 313 .
  • a connectivity manager 315 a notification manager 317 , a
  • the application manager 301 may manage the life cycle of the application 146 , for example.
  • the window manager 303 may manage one or more GUI resources used in a screen, for example.
  • the multimedia manager 305 for example, identifies one or more formats required for playback of media files, and encodes or decodes a corresponding media file among the media files using a codec suitable for the selected format. can be done
  • the resource manager 307 may manage the space of the source code of the application 146 or the memory of the memory 130 , for example.
  • the power manager 309 may, for example, manage the capacity, temperature, or power of the battery 189 , and use the corresponding information to determine or provide related information required for the operation of the electronic device 101 . . According to an embodiment, the power manager 309 may interwork with a basic input/output system (BIOS) (not shown) of the electronic device 101 .
  • BIOS basic input/output system
  • the database manager 311 may create, retrieve, or change a database to be used by the application 146 , for example.
  • the package manager 313 may manage installation or update of an application distributed in the form of a package file, for example.
  • the connectivity manager 315 may manage, for example, a wireless connection or a direct connection between the electronic device 101 and an external electronic device.
  • the notification manager 317 may provide, for example, a function for notifying the user of the occurrence of a specified event (eg, an incoming call, a message, or an alarm).
  • the location manager 319 may manage location information of the electronic device 101 , for example.
  • the graphic manager 321 may manage, for example, one or more graphic effects to be provided to a user or a user interface related thereto.
  • Security manager 323 may provide, for example, system security or user authentication.
  • the telephony manager 325 may manage, for example, a voice call function or a video call function provided by the electronic device 101 .
  • the voice recognition manager 327 transmits, for example, the user's voice data to the server 108, and based at least in part on the voice data, a command corresponding to a function to be performed in the electronic device 101; Alternatively, the converted text data may be received from the server 108 based at least in part on the voice data.
  • the middleware 344 may dynamically delete some existing components or add new components.
  • at least a portion of the middleware 144 may be included as a part of the operating system 142 or implemented as software separate from the operating system 142 .
  • the application 146 includes, for example, home 351 , dialer 353 , SMS/MMS 355 , instant message (IM) 357 , browser 359 , camera 361 , alarm 363 . , contact 365, voice recognition 367, email 369, calendar 371, media player 373, album 375, watch 377, health 379 (such as exercise or blood sugar) measuring biometric information), or environment information 381 (eg, measuring atmospheric pressure, humidity, or temperature information) applications.
  • the application 146 may further include an information exchange application (not shown) capable of supporting information exchange between the electronic device 101 and an external electronic device.
  • the information exchange application may include, for example, a notification relay application configured to transmit specified information (eg, call, message, or alarm) to an external electronic device, or a device management application configured to manage the external electronic device.
  • the notification relay application for example, transmits notification information corresponding to a specified event (eg, mail reception) generated in another application (eg, the email application 369) of the electronic device 101 to the external electronic device.
  • the notification relay application may receive notification information from the external electronic device and provide it to the user of the electronic device 101 .
  • the device management application is, for example, a power source (eg, turn-on or turn-on) of an external electronic device that communicates with the electronic device 101 or some components thereof (eg, the display device 160 or the camera module 180 ). -off) or a function (eg, brightness, resolution, or focus of the display device 160 or the camera module 180 ) may be controlled.
  • the device management application may additionally or alternatively support installation, deletion, or update of an application operating in an external electronic device.
  • FIG. 4 is a block diagram illustrating a network system according to various embodiments of the present invention.
  • FIG. 4 illustrates a network system for the electronic device 400 to use the edge network system.
  • a network system includes an electronic device (eg, the electronic device 101 of FIG. 1 ) 400 , a base station 410 , a core network 420 , and a server 430 . ) and/or an edge network system 500 .
  • the electronic device 400 may receive data provided by the server 430 or transmit data to the server 430 through the base station 410 and the core network 420 .
  • the server 430 may be a server existing outside a network (eg, a network including the base station 410 and the core network 420) operated by the cellular communication service provider (eg, the Internet network).
  • the operating subject of the server 430 may be a different operator from the cellular communication operator.
  • the electronic device 400 may transmit or receive control data or user data with the base station 410 while performing cellular communication.
  • the cellular communication may refer to any one communication method among various cellular communication methods that the electronic device 400 can support.
  • cellular communication is a cellular communication (eg, long-term evolution (LTE), LTE-advanced (LTE-A), LTE-A through a first network (eg, the first network 192 of FIG. 1 )). pro (LTE Advanced pro)), or cellular communication (eg, 5G on below 6GHz, or 5G on above 6GHz) through a second network (eg, the second network 194 in FIG. 1 ).
  • LTE long-term evolution
  • LTE-A LTE-advanced
  • LTE-A LTE-A
  • LTE-A LTE-A
  • a first network eg, the first network 192 of FIG. 1
  • pro LTE Advanced pro
  • cellular communication eg, 5G on below 6GHz, or 5G on above
  • the base station 410 is wirelessly connected to the electronic device 400 , and wired or wirelessly connected to the core network 420 and/or the edge network 500 , and the electronic device 400 . ) and the core network 420 and/or the edge network 500 may form a path for data transmission or reception.
  • the base station 410 may transmit control data or user data transmitted by the core network 420 and/or the edge network 500 to the electronic device 400 .
  • the base station 410 may transmit control data or user data transmitted by the electronic device 400 to the core network 420 and/or the edge network 500 .
  • the control data may refer to data for controlling various operations through cellular communication of the electronic device 400 .
  • the user data may refer to IP data transmitted through cellular communication of the electronic device 400 .
  • the base station 410 may be defined as an eNB (or eNodeB) in the 4G mobile communication scheme and a gNB (or gNodeB) in the 5G mobile communication scheme.
  • the core network 420 includes various functions using cellular communication used by the electronic device 400 (eg, call connection, IP data processing, electronic device 400 authentication, electronic device 400 ). may perform billing processing for a cellular communication service used by the user, management of mobility of the electronic device 400 or connection of the electronic device 400 to an external network).
  • the core network 420 may be defined as an evolved packet core (EPC) in the 4th generation mobile communication method and as a 5 generation core (5GC) in the 5th generation mobile communication method.
  • EPC evolved packet core
  • 5GC 5 generation core
  • the core network 420 supporting 5G mobile communication may support various functions (eg, edge computing) compared to the core network supporting 4G mobile communication.
  • Edge computing is an edge network implemented in a location physically close to the electronic device 400 (eg, a location physically close to the base station 410 , or inside the base station 410 ) in order to implement a high communication speed or low latency. It may refer to a technology for performing various services through the system 500 .
  • the edge network system 500 may be implemented in a location physically close to the electronic device 400 , so that data communication through the edge network system 500 is data through the core network 420 .
  • a high communication speed and/or a low latency can be implemented compared to communication.
  • the edge network system 500 may be directly connected to the core network 420 , physically close to it, or located inside the core network 420 .
  • the first server 510 may be a server that provides information on at least one or more second servers 520 connectable to the electronic device 400 .
  • information on the second server 520 may include access information of the second server 520 (eg, an IP address of the second server 520 , a domain address of the second server 520 , and/or the second Access address information of the second server 520 including a uniform resource identifier (URI) of the server 520 and identification information of the second server 520) may be included.
  • the first server 510 may be the same or a similar component to an edge data network configuration server (ECS) defined in TS 23.558.
  • ECS edge data network configuration server
  • the second server 520 may be a server connected to the third server 530 and managing various operations of the third server 530 .
  • the second server 520 may receive performance information of the third server 530 (eg, available resources (eg, memory capacity or bandwidth) of the third server 530 ) from the third server 530 .
  • the second server 520 may transmit information on at least one or more third servers 530 connected to the second server 520 in response to a request from the electronic device 400.
  • the second server 520 is TS 23.558 It may be the same or a similar component to the edge enabler server (EES) defined in .
  • EES edge enabler server
  • the third server 530 may be a server that provides an edge computing service that can be used by the application 501 installed on the electronic device 400 .
  • the third server 530 may provide application data related to the edge computing service to the application 501 .
  • the third server 530 may be the same or a similar component to the edge application server (EAS) defined in TS 23.558.
  • EAS edge application server
  • FIG. 5 a plurality of third servers 530 may be arranged depending on the service provided.
  • At least one or more third servers 530 may be deployed in various locations within the mobile communication network to provide edge services to user terminals (UEs) in adjacent locations.
  • UEs user terminals
  • the electronic device 400 may transmit a signal requesting access to the first server 510 to the core network 420 to connect the edge network system 500 .
  • the core network 420 may transmit access information of the first server 510 to the electronic device 400 through various procedures (eg, an authentication operation of the electronic device 400 ).
  • the first server 510 , the second server 520 , and the third server 530 included in the edge network system 500 are all near the base station 410 .
  • the present invention is not limited thereto, and various arrangements may be made.
  • the first server 510 and the second server 520 are connected to or disposed adjacent to a core network (eg, the core network 420 of FIG. 4 )
  • the third server 530 is an electronic device. It may be disposed at a location close to 400 (eg, coupled to or adjacent to the base station 410 ).
  • the first server 510 and the second server 520 are external (eg, a network including the base station 410 and the core network 420) operated by the cellular communication operator.
  • Example: Internet network) the third server 530 may be located close to the electronic device 400 .
  • the first server 510 and the second server 520 may be implemented as one integrated entity. If the edge network system 500 according to various embodiments is disposed closer to the electronic device 400 than the external server 430 and includes at least one third server 530 capable of providing an edge service, the edge network system It will be readily understood by those skilled in the art that the components included in 500 may have various arrangements.
  • connection operation between the electronic device 400 and the edge network system 500 will be described later with reference to FIG. 5 .
  • FIG. 5 is a diagram illustrating an electronic device and an edge network system according to various embodiments of the present disclosure
  • the edge network system 500 may include a first server 510 , a second server 520 , and/or a third server 530 .
  • the third server 530 may be a server that provides an edge computing service that can be used by the application 501 installed on the electronic device 400 .
  • the third server 530 may provide application data related to the edge computing service to the application 501 .
  • the third server 530 may be the same or a similar component to the edge application server (EAS) defined in TS 23.558.
  • EAS edge application server
  • the second server 520 may be a server connected to the third server 530 and managing various operations of the third server 530 .
  • the second server 520 may receive performance information of the third server 530 (eg, available resources (eg, memory capacity or bandwidth) of the third server 530 ) from the third server 530 .
  • the second server 520 may transmit information on at least one or more third servers 530 connected to the second server 520 in response to a request from the electronic device 400.
  • the second server 520 is TS 23.558 It may be the same or a similar component to the edge enabler server (EES) defined in .
  • EES edge enabler server
  • the first server 510 may be a server that provides information on at least one or more second servers 520 connectable to the electronic device 400 .
  • information on the second server 520 may include access information of the second server 520 (eg, an IP address of the second server 520 , a domain address of the second server 520 , and/or the second Access address information of the second server 520 including a uniform resource identifier (URI) of the server 520 and identification information of the second server 520) may be included.
  • the first server 510 may be the same or a similar component to an edge data network configuration server (ECS) defined in TS 23.558.
  • ECS edge data network configuration server
  • the electronic device 400 may include a processor (eg, the processor 120 of FIG. 1 ) 501 and a memory (eg, the memory 130 of FIG. 1 ).
  • the memory 130 may store various program modules executable on the processor 130 .
  • the memory 130 includes an application capable of performing a service using an edge network (eg, the application 146 of FIG. 1 ) 505 and various components for supporting edge computing (eg, an edge enabler client ( edge enabler client, EEC (503)) may be stored.
  • the processor 501 may load and execute (or operate) various program modules (eg, the EEC 503 and the application 505 ) stored in the memory 130 .
  • the EEC 503 may be configured on an application layer (eg, application 146 of FIG. 1 ), middleware (eg, middleware 144 of FIG. 1 ) and/or an operating system (eg, operating system 142 of FIG. 1 ). can be implemented in
  • the EEC 503 identifies an application 505 capable of using an edge computing service among various applications being executed (or operated) on the electronic device 400 , and the application ( Various operations for setting the 505 to transmit or receive data of the application 505 to the third server 530 may be performed.
  • the EEC 503 receives, from the edge network system 500, access information of a component of the edge network system 500 that enables the applications 505 to exchange application data through the edge network system 500, and access A connection between the edge network system 500 and the electronic device 400 may be controlled based on the information.
  • access information of a component of the edge network system 500 that enables the applications 505 to exchange application data through the edge network system 500
  • a connection between the edge network system 500 and the electronic device 400 may be controlled based on the information.
  • a specific embodiment for the connection between the EEC 503 and the third server 530 will be described.
  • the EEC 503 is based on the access information of the first server 510 received from the core network (eg, the core network 420 of FIG. 4 ) with the first server 510 and A connection operation can be performed.
  • the EEC 503 is a first server 510 stored on an electronic device (eg, the memory 130 and/or a SIM card (eg, the subscriber identification module 196 of FIG. 1 )).
  • An operation of connecting to the first server 510 may be performed based on the access information of the EEC 503 , the identification information of the electronic device 400 (eg, an international mobile subscriber identify (IMSI) of the electronic device 501 ). ) and/or Generic Public Subscription Identifier (GPSI)) are transmitted to the first server 510 , and the first server 510 performs authentication of the electronic device 400 based on identification information of the electronic device 400 . can do.
  • IMSI international mobile subscriber identify
  • GPSI Generic Public Subscription Identifier
  • the EEC 503 may perform a provisioning procedure for an edge service.
  • the provisioning procedure may include an operation of transmitting a signal requesting access information of the second server 520 to the first server 510 .
  • the first server 510 includes access information of the second server 520 (eg, identification information of the second server 520 , URI information of the second server 520 , domain information of the second server 520 , and the second server 520 ).
  • IP address information of the server 520 a dedicated public data network (PDN) or packet data unit (PDU) session of the edge network system 500 exists
  • PDN public data network
  • PDU packet data unit
  • APN access point name
  • DNN data network name
  • token information used for verification for valid connection of the second server 520
  • the access information of the second server 520 may be the same as or similar to the EES list defined in TS 23.558.
  • the access information of the second server 520 may be implemented as shown in Table 1 below and transmitted to the EEC 503 .
  • the access information of the second server 520 includes identification information of the second server 520 and/or access address information of the second server 520 (eg, URI information of the second server 520 , the second server 520 ). ) of domain information, IP address information of the second server 520, and a dedicated public data network (PDN) or packet data unit (PDU) session of the edge network system 500.
  • PDN public data network
  • PDU packet data unit
  • APN access point name
  • DNN data network name
  • the EEC 503 is the second server (eg, EES identification information, access address information) based on the access information (eg, EES identification information, access address information) of the second server 520 received from the first server 510 . 520) may be attempted.
  • the second server 520 is an electronic device in which the electronic device 400 has an access right of the second server 520 based on the access information (eg, token) of the second server 520 transmitted by the EEC 503 . It is checked whether or not it is recognized, and based on the result of the check, it is possible to determine whether to allow access (or connection) of the electronic device 400 .
  • the second server 520 receives a token, and through an authentication operation through an authentication server (not shown) and the received token, the electronic device 400 accesses (or , connection) may decide whether to allow or not.
  • the token may be information transmitted from the authentication server (not shown) to the electronic device 400 .
  • the EEC 503 performs an edge service discovery procedure (eg, edge service discovery) for obtaining information on the third server 530 that can provide an edge computing service to the application 505 .
  • an edge service discovery procedure eg, edge service discovery
  • the EEC 503 may transmit, to the second server 520 , an edge service discovery request message for requesting access information of at least one or more third servers 530 connected to the second server 520 .
  • the second server 520 may transmit an edge service discovery response message including the access information of the third server 530 stored by the second server 520 to the EEC 503 .
  • the access information of the third server 530 includes the identifier of the third server 530 , the access address of the third server 530 (eg, the IP address of the third server 530 , the domain address of the third server 530 ). ) and/or the third server 530 may include a service identifier that can be provided.
  • the third server 530 may be a software entity implemented in units of services.
  • the plurality of third servers 530 are entities implemented on one physical server, and may be servers that provide different services.
  • the access information of the third server 530 is installed on the electronic device 400 and/or access information of applications that can be executed in the third server 530 , and provides services using the third server 530 . It may include identification information of executable applications.
  • the access information of the third server 530 may be the same as or similar to the EAS list defined in TS 23.558.
  • Information of the third server 530 may be implemented as shown in Table 2 below and transmitted to the EEC 503 .
  • EAS identification information Application Identification Information (ACID) Access address information
  • EAS1 com.android.app1 ees1.edge1.com
  • EAS2 com.android.app2 2.2.2.2
  • EAS3 com.android.app3 ees3.edge3.com/3.3.3.3
  • the access information of the second server 530 included in Table 2 is access information (EAS identification information) of service applications that can be executed in the third server 530 and/or identification information of applications executed on the electronic device 400 .
  • EAS identification information access information
  • ACID identification information
  • each row of Table 2 eg, EAS1, EAS2, EAS3, etc.
  • EAS1, EAS2, EAS3, etc. may refer to identification information and access addresses for the first server application and the second server application that can be executed in the third server 530 . have.
  • the EEC 503 may provide a service that the application 505 can use in response to reception of a service connection request using the third server 530 of the application 505 .
  • the third server 530 may be searched from the access information of the third server 530 .
  • the EEC 503 includes application identification information (eg, com) to be used by the application 505 among application identification information (eg, com.android.app1, com.android.app2) included in the identification information of the third server 530 .
  • the application 505 may connect to the third server 530 based on the received domain address or IP address of the third server 530 and perform a service using the third server 530 .
  • the processor 501 and/or the application 505 is illustrated as being directly connected to the edge network system 500 , but the processor 501 and/or the application 505 are connected to the electronic device 101 .
  • Data may be exchanged with the edge network system 500 using components for communication (eg, the wireless communication module 192 of FIG. 1 ).
  • the EEC 503 checks the application identification information included in the access information of the third server, and matches the identification information of the application that transmitted the service connection request using the third server 530 .
  • the access to the third server 530 may be performed based on the access information of the third server 530 corresponding to the application identification information.
  • the application 505 is an application created by a malicious third party and is an application having the same name as the application, the EEC 503 is valid. It may not be possible to prevent an application that has not been used from performing a service using the third server 530 .
  • FIG. 6 is a diagram illustrating an embodiment in which an electronic device performs a service using a third server based on validation of an application according to various embodiments of the present disclosure
  • the electronic device 400 stores data related to at least one or more applications (eg, the application 146 of FIG. 3 ) 601 , 603 , and 605 , and the applications 601 , 603 , and 605 .
  • memory eg, memory 130 of FIG. 1
  • processor eg, processor 120 of FIG. 1
  • communication circuitry 611 e.g., communication circuitry 611 .
  • the memory 130 may store various program modules executable on the processor 130 .
  • the memory 130 includes an application capable of performing a service using an edge network (eg, the application 505 of FIG. 5 ) 601 , 603 , and 605 , and various components (eg, edge-in) for supporting edge computing.
  • enabler client edge enabler client, EEC 503
  • the processor 501 may read and execute (or operate) various program modules (eg, the EEC 503 and the applications 601 , 603 , and 605 ) stored in the memory 130 .
  • the EEC 503 may be configured on an application layer (eg, application 146 of FIG. 1 ), middleware (eg, middleware 144 of FIG. 1 ) and/or an operating system (eg, operating system 142 of FIG. 1 ). can be implemented in an application layer (eg, application 146 of FIG. 1 ), middleware (eg, middleware 144 of FIG. 1 ) and/or an operating system (eg, operating system 142 of
  • At least one or more applications 601 , 603 , and 605 may be programs that can be installed and executed on the electronic device 400 .
  • the first application 601 and the second application 603 among at least one or more applications 601, 603, and 605 are applications that are permitted to perform a service using the third server 530
  • the third application 605 is an application that is not permitted to perform a service using the third server 530 .
  • the first application 601 may execute one or more functions provided by the application 531 that may be executed on the third server 530 on the electronic device 400 .
  • the second application 603 may execute one or more functions (or services) provided by the application 533 that can be executed on the third server 530 in the electronic device 400 .
  • the third application 605 may execute one or more functions provided by the application 431 that may be executed on the external server 430 on the electronic device 400 .
  • the applications 601 , 603 , and 605 executed in the electronic device 400 are service client applications, and the applications 531 , 533,431 executed in the server (eg, the third server 530 or the external server 431 ) are service server applications.
  • the first application 531 may be a first server application corresponding to EAS1 in Table 2
  • the second application 533 may be a second server application corresponding to EAS2 in Table 2.
  • the memory 607 may store data related to the applications 601 , 603 , and 605 .
  • Data related to the applications (601, 603, 605) is the installation data used for the installation of the applications (601, 603, 605), at least a part of the binary data of the installation data of the applications (601, 603, 605) a designated algorithm (eg : First hash data generated by inputting into a function implemented by SHA (secure hast algorithm)1, SHA256, MD (message-digest algorithm)5), and the first hash data in various ways (e.g., symmetric key method) At least one of the first signature data that is data encrypted by encryption, public key cryptography encryption), information indicating an algorithm used to generate the first hash data, or a decryption key used to decrypt the encrypted data.
  • SHA secure hast algorithm
  • MD messages-digest algorithm
  • the first hash data may have different values for each application. Since the first signature data may be generated by encrypting the first hash data, it may have a different value for each application.
  • the first hash data may be data generated by inputting binary data of installation data into a hash function implemented in various ways, but it is not a hash algorithm, but is generated using a designated algorithm implemented so that data related to the application cannot be recovered may be data.
  • the communication circuit 611 transmits data transmitted by the applications 601 , 603 , and 605 to the edge network system 500 or an external server (eg, the external server 430 in FIG. 4 ). It may transmit (or receive) through cellular communication.
  • the communication circuit 611 generates a plurality of channels including a first channel for transmitting or receiving data to the third server 530 and/or a second channel for transmitting or receiving data to the external server 430 . and manage.
  • the communication circuit 611 transmits data transmitted by the EEC 503 using any one of the first channel and the second channel based on the control of the EEC 503 , or a third server 530 or external Data may be received from the server 430 .
  • the first channel may mean a dedicated network channel between the validated application (eg, the first application 601 and/or the second application 603 ) and the third server 530 .
  • the second channel may mean a network channel between an application for which validation has failed (eg, the third application 605 ) and the external server 430 .
  • the communication circuit 611 transmits edge data 613 transmitted by the first application 601 and/or the second application 603 through the first channel based on the control of the processor 501 . It may transmit to the third server 530 .
  • the communication circuit 611 may transmit the edge data 613 transmitted by the third application 605 to the external server 430 through the second channel based on the control of the processor 501 . have.
  • the EEC 503 identifies the applications 601 and 603 that can use the edge computing service among various applications installed on the electronic device 400 , and sends it to the third server 530 .
  • Data transmitted by the applications 601 and 603 eg, IP data packets of the first application 531 or the second application 533) or data transmitted by the third server 530 (eg, the third server 530) ) to transmit the IP data packets of the applications 531 and 533 running on the application 505 to the application 505 , various operations may be performed.
  • the EEC 503 may attempt to access the second server 520 based on the access information of the second server 520 received from the first server 510 .
  • the second server 520 checks whether the electronic device 400 is an electronic device having an access right of the second server 520 based on the access information of the second server 520 transmitted by the EEC 503 , and , it is possible to determine whether to permit the connection of the electronic device 400 based on the result of the confirmation.
  • the EEC 503 may perform an edge service discovery procedure for acquiring information on the third server 530 capable of providing edge computing services to the applications 601 and 603 .
  • the EEC 503 may transmit to the second server 520 an edge service discovery request message requesting access information of at least one or more third servers 530 connected to the second server 520 .
  • the access information of the third server 530 may include access information of the applications 531 and 533 that provide services available to the applications 601 and 603 .
  • the second server 520 may transmit an edge service discovery response message including the access information of the third server 530 stored by the second server 520 to the EEC 503 .
  • the access information of the third server 530 may include an identifier of the third server 530 and information for accessing the applications 531 and 533 installed on the third server 530 .
  • the information for accessing the applications 531 and 533 installed on the third server 530 includes address information (eg, URI information, IP address and/or domain address) for accessing a service using the applications 531 and 533 .
  • address information eg, URI information, IP address and/or domain address
  • it may include a service identifier (EAS ID).
  • the access information of the third server 530 may include data for validating the application. Verification of the validity of the applications 601 , 603 , and 605 may refer to an operation of checking whether the application is allowed to perform a service using the third server 530 .
  • data for validation of an application may mean data that can be used for validation of applications 601 , 603 , and 605 .
  • the data for validation of the application is the second hash data generated by inputting binary data of the installation data of the application (601, 603, 605) into a function implemented by a specified algorithm (eg, SHA1, SHA256, MD5).
  • a decryption key used to decrypt the second signature data or encrypted data which is data obtained by encrypting the second hash data by various methods (eg, symmetric key encryption, public key encryption), and applications 601, 603, 605 ) may include at least one of a certificate and hash data of the certificate.
  • the certificate is issued through a third certification authority of the applications 601 , 603 , and 605 , and may refer to data indicating that the validity of the applications 601 , 603 , and 605 exists.
  • the access information of the third server 530 is implemented as shown in Table 3 below to include data for validation of the applications 601 , 603 , and 605 , the EEC 503 . can be transmitted to
  • EAS identification information Application identification information Data for application validation Access address information EAS1 com.android.app1 signature 1 app1.edge.com/3.3.3.1 EAS2 com.android.app2 signature 2 app2.edge.com/Eas2.edge.com
  • the EEC 503 includes information EAS indicating specific applications 531 and 533 installed on the third server 530 and/or a specific application installed on the electronic device 400 .
  • An edge service discovery request message including information (ACID) indicating 601 and 603 may be transmitted to the second server 530 .
  • the second server 530 In response to confirming that the edge service discovery request message includes information indicating specific applications 531 and 533 installed on the third server 530 in the edge service discovery request message, the second server 530 displays the validity of the application in the EAS identification information field.
  • An edge service discovery response message including access information of the third server 530 having input data for verification may be transmitted.
  • Connection information of the third server 530 may be implemented as shown in Table 4 below.
  • the access information of the third server 530 implemented as shown in Table 4 may include data for validation of the applications 601 , 603 , and 605 in a field in which EAS identification information is input, and the third server 530 shown in Table 3 3 It may have a data size smaller than the access information of the server 530 .
  • the EEC 503 receives the edge service discovery response message including the access information of the third server 530 from the second server 520 , and EAS identification information included in the access information of the third server 530 is the edge
  • data present in the EAS identification information field of the access information of the third server 530 is used for validation of the applications 601 , 603 , and 605 . available as data.
  • the EEC 503 transmits an edge service discovery request message including information (EAS) indicating specific applications 531 and 533 installed on the third server 530 to the third server. It can be transmitted to (530).
  • the third server 530 validates the application in the application identification field. It is possible to transmit an edge service discovery response message including access information of the third server 530 that has input data for .
  • Connection information of the third server 530 may be implemented as shown in Table 5 below.
  • the access information of the third server 530 implemented as shown in Table 5 may include data for validating the applications 601 , 603 , and 605 in a field in which application identification information is input, and the third server 530 shown in Table 3 3 It may have a data size smaller than the access information of the server 530 .
  • the EEC 503 receives the edge service discovery response message including the access information of the third server 530, and the application identification information included in the access information of the third server 530 is included in the edge service discovery request message.
  • data present in the application identification information of the access information of the third server 530 may be used as data for validating the applications 601 , 603 , and 605 .
  • EAS identification information Application identification information Access address information EAS1 Signature1 app1.edge.com/3.3.3.1
  • the second server 520 may include data included in various fields (eg, EAS identification information, application identification information, or access address information) included in the access information of the third server 530 and Connection information of the third server 530 may be generated by combining data for application validation.
  • the second server 520 generates connection information of the third server 530 by combining data included in the EAS identification information field and data for application validation, and An edge service discovery response message including access information may be transmitted to the EEC 503 .
  • the EEC 503 may extract data for validating the application included in the edge service discovery response message.
  • the EEC 503 requests the application 601 to perform a service based on data for validation of the applications 601 , 603 , and 605 included in the access information of the third server 530 . , 603, 605) can be verified.
  • the EEC 503 includes the first signature data included in the application-related data stored in the memory 607 and the first signature data included in the data for validation of the applications 601 , 603 , and 605 . 2 You can check whether the signature data match.
  • the applications 601 , 603 , and 605 installed in the electronic device 400 are valid applications 601 , 603 , the first signature data and the second signature data may match.
  • the application 605 installed in the electronic device 400 is an invalid application (eg, when the third application 605 has the same name as the first application 601 , the third application 605 is valid) may not be an application), the first signature data and the second signature data may not match.
  • the EEC 503 may confirm that the applications 601 and 603 requesting service performance are valid applications. In response to confirming that the first signature data and the second signature data do not match, the EEC 503 may confirm that the application 605 requesting service execution is an invalid application.
  • the EEC 503 includes the first hash data included in the application-related data stored in the memory 607 and the first hash data included in the data for validation of the applications 601 , 603 , and 605 . 2 You can check whether the hash data match.
  • the applications 601 , 603 , and 605 installed in the electronic device 400 are valid applications 601 , 603 , the first hash data and the second hash data may match.
  • the application 605 installed in the electronic device 400 is an invalid application (eg, when the third application 605 has the same name as the first application 601 , the third application 605 is valid) application), the first hash data and the second hash data may not match.
  • the EEC 503 may generate second hash data using the second signature data and the decryption key included in the data for validation of the applications 601 , 603 , and 605 . .
  • the EEC 503 may check whether the first hash data and the second hash data included in the application-related data stored in the memory 607 match each other.
  • the EEC 503 may receive a decryption key for decrypting the second signature data from the first server 510 from the first server 510 .
  • the EEC 503 may generate second hash data using the second signature data included in the data for validation of the applications 601 , 603 , and 605 and the decryption key received from the first server 510 .
  • the EEC 503 may check whether the first hash data and the second hash data included in the application-related data stored in the memory 607 match each other.
  • the EEC 503 uses a decryption key included in the data for validation of the applications 601 , 603 , and 605 to be included in the data related to the applications 601 , 603 , and 605 .
  • the first signature data may be decrypted.
  • the EEC 503 may check whether the decryption value of the first signature data matches the first hash data.
  • the EEC 503 may confirm that the applications 601 and 603 requesting service performance are valid applications. In response to confirming that the first hash data and the second hash data do not match, the EEC 503 may confirm that the application 605 requesting service execution is an invalid application. , the EEC 503 uses a certificate of the applications 601 , 603 , 605 included in the data for validation of the applications 601 , 603 , and 605 to request the application 601 , 603 , and 605 to perform the service. ) can be validated. The EEC 503 compares the certificates of the applications 601, 603, 605 included in the data for validation and the certificates of the applications 601, 603, 605 stored in the memory 607, the application The validity of (601, 603, 605) can be checked.
  • the EEC 503 uses hash data of the certificates of the applications 601 , 603 , and 605 included in the data for validation of the applications 601 , 603 , and 605 .
  • the validity of the applications 601 , 603 , and 605 that have requested service execution may be verified.
  • EEC 503 is the hash data of the certificates of the applications (601, 603, 605) included in the data for validation and the hash data of the certificates of the applications (601, 603, 605) stored in the memory 607 By the method of comparison, the validity of the applications 601 , 603 , and 605 can be checked.
  • the EEC 503 may access the third server 530 and perform a service based on the validation result of the applications 601 , 603 , and 605 .
  • the EEC 503 may access the third server 530 and perform a service in response to confirming that the applications 601 and 603 are valid.
  • the processor 501 allows the applications 601 and 603 to transmit the edge data 613 to the third server 530 or to allow the applications 601 and 603 to receive data transmitted by the third server 530 .
  • the communication circuit 611 may be controlled.
  • the EEC 503 may block the operation of accessing the third server 530 to perform a service.
  • the processor 501 configures the communication circuit 611 so that the application 605 transmits the general data 615 to the external server 430 or the application 605 receives the data transmitted by the external server 430 . can be controlled
  • the EEC 503 detects the invalid application 605 in response to confirming that the invalid application 605 requests to perform a service using the third server 530 .
  • Various operations for blocking the use of wireless communication may be performed.
  • the EEC 503 includes other components of the electronic device 400 (eg, the display device 160 of FIG. 1 , the sound output device 155 or the haptic module ( 179)) can be controlled.
  • the EEC 503 may delete the invalid application 605 .
  • the electronic device 400 uses not only identification information (eg, the name of the application) of the applications 601 , 603 , and 605 , but also the application ( Validation of the applications 601 , 603 , and 605 may be performed based on data for validation of 601 , 603 , and 605 .
  • the electronic device 400 may provide a service using the third server 530 for valid applications 601 and 603 , thereby improving security.
  • FIG. 7 is an operation flowchart illustrating an operation in which an electronic device performs a service using a third server based on validation of an application according to various embodiments of the present disclosure
  • the EEC of the electronic device eg, the electronic device 400 of FIG. 4
  • the second server eg, the edge enabler client 503 of FIG. 5
  • a signal for requesting access information of the second server 520 of FIG. 5 may be transmitted to the first server (eg, the first server 510 of FIG. 5 ).
  • the first server 510 responds to the reception of the request for access information from the second server 520 , and the second server 520 connected to the first server 510 . of connection information can be transmitted.
  • the access information of the second server 520 may include identification information of the second server 520 and/or access address information of the second server 520 .
  • the access address information of the second server 520 may include at least one of IP address information of the second server 520 , domain information of the second server 520 , or URI information of the second server 520 .
  • the EEC 503 transmits an edge service discovery request message for requesting access information of the third server 530 based on the access information of the second server 520 .
  • the edge service discovery request message includes identification information of the EEC 503 , token information for authenticating the access right of the second server 520 , and/or a search condition of the third server 530 connected to the second server 520 . It may include information indicating (eg, information indicating a specific service or a specific third server 530 ).
  • the second server 520 includes access information of the third server 530 connected to the second server 520 in response to the reception of the edge service discovery request message. may transmit an edge service discovery response message to the EEC 503 .
  • the access information of the third server 530 verifies the validity of the application (eg, the first application 601 , the second application 603 , or the third application 605 of FIG. 6 ). It may contain data for Verification of the validity of the applications 601 , 603 , and 605 may refer to an operation of checking whether the application is allowed to perform a service using the third server 530 .
  • data for validation of an application may mean data that can be used for validation of applications 601 , 603 , and 605 .
  • the data for validation of the application is the second hash data generated by inputting binary data of the installation data of the application (601, 603, 605) into a function implemented by a specified algorithm (eg, SHA1, SHA256, MD5).
  • a decryption key used to decrypt the second signature data or encrypted data which is data obtained by encrypting the second hash data by a specified method (eg, symmetric key encryption, public key encryption), and applications 601, 603, and 605 ) may include at least one of a certificate and hash data of the certificate.
  • the certificate is issued through a third certification authority of the applications 601 , 603 , and 605 , and may refer to data indicating that the validity of the applications 601 , 603 , and 605 exists.
  • the EEC 503 may receive a connection request for a service using the third server 530 from the applications 601 , 603 , and 605 .
  • the applications 601, 603, and 605 are switched from the inactive state to the active state, or when the applications 601, 603, and 605 are switched from the background state to the foreground state, the first 3 A connection request of a service using the server 530 may be transmitted to the EEC 503 .
  • operation 709 may be performed before operation 705 . If operation 709 is performed before operation 705 , the EEC 503 , in operation 705 , discovers an edge service including information (EAS) indicating specific applications 531 and 533 installed on the third server 530 .
  • the request message may be transmitted to the second server 520 .
  • the second server 520 in operation 707, confirms that the second server 520 includes information indicating the specific applications 531 and 533 installed on the third server 530 in the edge service discovery request message.
  • an edge service discovery response message including access information of the third server 530 in which data for application validation is input in the EAS identification information field may be transmitted.
  • the EEC 503 receives the edge service discovery response message including the access information of the third server 530 from the second server 520 , and EAS identification information included in the access information of the third server 530 is the edge
  • data present in the EAS identification information field of the access information of the third server 530 is used for validation of the applications 601 , 603 , and 605 . available as data.
  • the EEC 503 may check the validity of the application.
  • the EEC 503 requests the application 601 to perform a service based on data for validation of the applications 601 , 603 , and 605 included in the access information of the third server 530 . , 603, 605) can be verified.
  • the EEC 503 includes the first signature data included in the application-related data stored in the memory 607 and the first signature data included in the data for validation of the applications 601 , 603 , and 605 . 2 You can check whether the signature data match.
  • the applications 601 , 603 , and 605 installed in the electronic device 400 are valid applications 601 , 603 , the first signature data and the second signature data may match.
  • the application 605 installed in the electronic device 400 is an invalid application (eg, when the third application 605 has the same name as the first application 601 , the third application 605 is valid) may not be an application), the first signature data and the second signature data may not match.
  • the EEC 503 may confirm that the applications 601 and 603 requesting service performance are valid applications. In response to confirming that the first signature data and the second signature data do not match, the EEC 503 may confirm that the application 605 requesting service execution is an invalid application.
  • the EEC 503 includes the first hash data included in the application-related data stored in the memory 607 and the first hash data included in the data for validation of the applications 601 , 603 , and 605 . 2 You can check whether the hash data match.
  • the applications 601 , 603 , and 605 installed in the electronic device 400 are valid applications 601 , 603 , the first hash data and the second hash data may match.
  • the application 605 installed in the electronic device 400 is an invalid application (eg, when the third application 605 has the same name as the first application 601 , the third application 605 is valid) application), the first hash data and the second hash data may not match.
  • the EEC 503 may generate second hash data using the second signature data and the decryption key included in the data for validation of the applications 601 , 603 , and 605 . .
  • the EEC 503 may check whether the first hash data and the second hash data included in the application-related data stored in the memory 607 match each other.
  • the EEC 503 may receive a decryption key for decrypting the second signature data from the first server 510 from the first server 510 .
  • the EEC 503 may generate second hash data using the second signature data included in the data for validation of the applications 601 , 603 , and 605 and the decryption key received from the first server 510 .
  • the EEC 503 may check whether the first hash data and the second hash data included in the application-related data stored in the memory 607 match each other.
  • the EEC 503 uses a decryption key included in the data for validation of the applications 601 , 603 , and 605 to be included in the data related to the applications 601 , 603 , and 605 .
  • the first signature data may be decrypted.
  • the EEC 503 may check whether the decryption value of the first signature data matches the first hash data.
  • the EEC 503 may confirm that the applications 601 and 603 requesting service performance are valid applications. In response to confirming that the first hash data and the second hash data do not match, the EEC 503 may confirm that the application 605 requesting service execution is an invalid application.
  • the EEC 503 performs service using the certificates of the applications 601 , 603 , and 605 included in data for validating the applications 601 , 603 , and 605 .
  • the validity of the requested applications 601 , 603 , and 605 may be verified.
  • the EEC 503 compares the certificates of the applications 601, 603, 605 included in the data for validation and the certificates of the applications 601, 603, 605 stored in the memory 607, the application The validity of (601, 603, 605) can be checked.
  • the EEC 503 uses hash data of the certificates of the applications 601 , 603 , and 605 included in the data for validation of the applications 601 , 603 , and 605 .
  • the validity of the applications 601 , 603 , and 605 that have requested service execution may be verified.
  • EEC 503 is the hash data of the certificates of the applications (601, 603, 605) included in the data for validation and the hash data of the certificates of the applications (601, 603, 605) stored in the memory 607 By the method of comparison, the validity of the applications 601 , 603 , and 605 can be checked.
  • the EEC 503 may be configured to access the third server 530 and perform a service based on the validation result of the applications 601 , 603 , and 605 .
  • the EEC 503 in response to confirming that the application 505 (eg, 601, 603 ) that has transmitted the service execution request is a valid application, the EEC 503 responds to the first included in the edge service discovery response message. Based on the connection information of the third server 530 , the application 505 (eg, 601 , 603 ) may be set to connect with the third server 530 .
  • the method of setting the EEC 503 to perform a connection with the third server 530 to the application 505 is, in operation 713 , access information of the third server 530 .
  • access information of the third server 530 eg: connection information (eg, ip address) of the server application (eg, 531,533)) to the application (eg, the first application 601, the second application 603), so that the application is the application of the third server (Example: 531, 533)
  • connection information eg, ip address
  • the server application eg, 531,533
  • the application eg, the first application 601, the second application 603
  • the EEC 503 is the access address information of the server application (eg, 531,533) for the DNS query request of the client application (505, for example: 601,603) (eg, the IP address of the server application (531, 533))
  • a response message including a may be transmitted to the application 505 .
  • the application 505 may be set to communicate with the applications (eg, 531 and 533 ) of the third server 530 based on the connection information of the server applications 531 and 533 .
  • the electronic device 400 may establish a dedicated network channel for a connection between the application 505 and the third server 530 .
  • the processor 501 may control the communication circuit 611 to generate a first channel that is a designated network interface (eg, establishment of a PDU session dedicated to the application 505 or connection to a dedicated DNN gateway).
  • the electronic device 400 (or the processor 501 ) may control the communication circuit 611 so that the applications 505 transmit or receive data through the specified network interface.
  • the EEC 503 determines that the application 505 (eg, 605 ) that has transmitted the service execution request is an invalid application, in response to the application 505 (eg: Connection information of the third server 530 may not be transmitted to the third application 605 .
  • the EEC 503 ignores the access information request (eg, dns query) of the third application 605 (drop), or the third application 605 is unable to access the third server 530 to the application by replying an error message (eg, dns error) indicating Connection information of the third server 530 may not be transmitted.
  • the applications 601 and 603 connect with the applications 531 and 533 of the third server 530 according to the third server 530 access information set in operation 713 .
  • a service using the third server 530 may be performed by transmitting or receiving data.
  • FIG. 8 is a diagram illustrating an embodiment in which an electronic device performs application validation, according to various embodiments of the present disclosure
  • the EEC 503 executed on a processor (eg, the processor 501 of FIG. 5 ) of the electronic device (eg, the electronic device 400 of FIG. 4 ) performs comparison of hash data;
  • the validity of the application eg, the first application 601 , the second application 603 , and/or the third application 605 of FIG. 6 ) may be verified through various methods including comparison of signature data.
  • the third server 530 may store data for verification of the applications 601 , 603 , and 605 .
  • the third server 530 is data obtained by encrypting the second hash data by a specified method (eg, symmetric key encryption, public key encryption), the second signature data, and identification information of the application (eg, the name of the application) may store data for verification of the application 601 including
  • the second server 520 does not receive data for verification of the applications 601 , 603 , and 605 from the third server 530 , but does not receive data for verification of the application 601 .
  • the second server 520 is data obtained by encrypting the second hash data by a specified method (eg, symmetric key encryption, public key encryption), the second signature data, and identification information of the application (eg, the name of the application) Data for verification of the application 601 including
  • the second server 520 may transmit an edge service discovery response message including data for verification of the applications 601 , 603 , and 605 to the EEC 503 .
  • the EEC 503 stores the second signature data included in the data for verification of the applications 601 , 603 , and 605 in a memory (eg, the memory 607 of FIG. 6 ). Decryption can be performed based on the decryption key included in the data related to the .
  • the EEC 503 may check whether the second hash data generated by decrypting the second signature data and the first hash data included in the application-related data stored in the memory 607 match each other.
  • the EEC 503 may verify the validity of the applications 601 , 603 , and 605 based on whether the first hash data and the second hash data match.
  • the third server 530 inputs the binary data of the installation data of the applications 601, 603, and 605 to a function implemented by a specified algorithm (eg, SHA1, SHA256, MD5). Storing data for verification of the applications 601 , 603 , 605 including the second hash data generated by the method and identification information (eg, the name of the application) of the applications 601 , 603 , and 605 , and the application 601 , 603 , and 605 may transmit data for verification to the second server 520 .
  • a specified algorithm eg, SHA1, SHA256, MD5
  • the second server 520 may transmit an edge service discovery response message including data for verification of the applications 601 , 603 , and 605 to the EEC 503 .
  • the EEC 503 includes the first hash data included in the application-related data stored in the memory 607 and the first hash data included in the data for validation of the applications 601 , 603 , and 605 . 2 You can check whether the hash data match.
  • the applications 601 , 603 , and 605 installed in the electronic device 400 are valid applications 601 , 603 , the first hash data and the second hash data may match.
  • the application 605 installed in the electronic device 400 is an invalid application (eg, when the third application 605 has the same name as the first application 601 , the third application 605 is valid) application), the first hash data and the second hash data may not match.
  • the third server 530 is an application including a decryption key used for decrypting the first signature data or the second signature data and identification information of the application (eg, the name of the application)
  • Data for verification of 601 may be stored, and data for verification of applications 601 , 603 , and 605 may be transmitted to the second server 520 .
  • the second server 520 may transmit an edge service discovery response message including data for verification of the applications 601 , 603 , and 605 to the EEC 503 .
  • the EEC 503 uses a decryption key included in the data for validation of the applications 601 , 603 , and 605 to be included in the data related to the applications 601 , 603 , and 605 .
  • the first signature data may be decrypted.
  • the EEC 503 may check whether the decryption value of the first signature data matches the first hash data.
  • the EEC 503 in response to confirming that the first hash data and the second hash data match, requests an application to perform a service (eg, the first application 601 or the second application). (603)) is a valid application. In response to confirming that the first hash data and the second hash data do not match, the EEC 503 may confirm that the application requesting service execution (eg, the third application 605) is an invalid application.
  • a service eg, the first application 601 or the second application. (603)
  • the EEC 503 may confirm that the application requesting service execution (eg, the third application 605) is an invalid application.
  • FIG. 9 is a diagram illustrating an embodiment in which an electronic device performs validation of an application using a decryption key received from a first server according to various embodiments of the present disclosure
  • the decryption key used to decrypt the first signature data and/or the second signature data is the second server 520 that transmits the edge service discovery response message and/or provisioning for the edge service. It may be stored in the first server 510 that performs the procedure.
  • the EEC 503 may receive a decryption key from the first server 510 in a provisioning procedure or other procedure for an edge service.
  • the second server 520 may transmit access information of the third server 530 to the EEC 503 through an edge service discovery procedure.
  • the access information of the third server 530 may include data for validating the application.
  • the validation of the validity of the applications 601 , 603 , and 605 checks whether the application is allowed to perform service using the third server 530 (eg, the first application 601 and/or the second application 603 ). It can mean an action.
  • data for validation of the applications 601 , 603 , and 605 may refer to data that can be used for validation of the application 601 .
  • Data for validation of the application is at least one of the second hash data generated by inputting binary data of the installation data of the application 601 to a function implemented by a specified algorithm (eg, SHA1, SHA256, MD5).
  • a specified algorithm eg, SHA1, SHA256, MD5
  • the EEC 503 uses the second signature data included in the data for validation of the application 601 and the decryption key received from the first server 510 to obtain the second hash data. can create The EEC 503 checks whether the first hash data and the second hash data included in the application-related data stored in the memory 607 match each other, and performs validation of the application 601 based on the verification result can do.
  • FIG. 10 is a diagram illustrating an embodiment in which an electronic device performs validation of an application using a decryption key generated by an external server managing a certificate according to various embodiments of the present disclosure.
  • the third server 530 or the external server 1010 may generate a certificate obtained by encrypting the second hash data based on the private encryption key managed by the external server 1010 .
  • the third server 530 may transmit the generated certificate to the second server 520 .
  • the second server 520 performs the verification of the application 601 including information about the generation algorithm of the second hash data, the certificate, the public key corresponding to the private encryption key, and the second signature data corresponding to the second hash data. It is possible to store and manage at least one of data for
  • the second server 520 may transmit an edge service discovery response message including data for verification of the application 601 to the EEC 503 in response to the edge service discovery request message.
  • the EEC 503 receives data for verification of the application 601 , and decrypts the certificate using the public key included in the data for verification of the application 601 .
  • Second hash data may be generated.
  • the EEC 503 checks whether the first hash data and the second hash data included in the application-related data stored in the memory 607 match each other, and performs validation of the application 601 based on the verification result can do.
  • the third server 530 or the external server 1010 is a private encryption key that the external server 1010 manages a decryption key corresponding to the encryption key used to encrypt the second hash data. You can create an encrypted certificate based on
  • the third server 530 may transmit the generated certificate to the second server 520 .
  • the second server 520 is an application 601 including second signature data corresponding to at least one of information about the generation algorithm of the second hash data, a certificate, a public key corresponding to a private encryption key, and second hash data. You can store and manage data for verification of
  • the second server 520 may transmit an edge service discovery response message including data for verification of the application 601 to the EEC 503 in response to the edge service discovery request message.
  • the EEC 503 performs service using the certificates of the applications 601 , 603 , and 605 included in data for validating the applications 601 , 603 , and 605 .
  • the validity of the requested applications 601 , 603 , and 605 may be verified.
  • the EEC 503 compares the certificates of the applications 601, 603, 605 included in the data for validation and the certificates of the applications 601, 603, 605 stored in the memory 607, the application The validity of (601, 603, 605) can be checked.
  • the EEC 503 receives data for verification of the application 601 , and decrypts the certificate using the public key included in the data for verification of the application 601 .
  • the EEC 503 may decrypt the first signature data included in the application-related data stored in the memory 607 with the generated public key.
  • the EEC 503 may check whether the decryption value of the first signature data matches the first hash data included in the application-related data stored in the memory 607 .
  • the EEC 503 may confirm that the application 601 requesting service execution is a valid application. In response to confirming that the first hash data and the second hash data do not match, the EEC 503 may confirm that the application 601 requesting service execution is an invalid application.
  • FIG. 11 is a diagram illustrating an embodiment in which an electronic device sets a data transmission path based on a validation result of an application according to various embodiments of the present disclosure
  • the electronic device performs an edge network system (eg, the edge network system 500 of FIG. 4 ) based on the validation result of the application. It relates to an embodiment of performing the service provided.
  • the electronic device 400 according to various embodiments of the present disclosure provides a service (eg, a data traffic path for an application) provided by a core network (eg, the core network 420 of FIG. 4 ) based on the validation result of the application. service based on the setting policy).
  • the electronic device 400 stores data related to at least one or more applications (eg, the application 146 of FIG. 3 ) 601 , 603 , and 605 , and the applications 601 , 603 , and 605 .
  • memory 607 processor 501 and/or communication circuitry 611 .
  • At least one or more applications 601 , 603 , and 605 may be programs installable on the electronic device 400 .
  • the first application 601 and the second application 603 among the at least one or more applications 601 , 603 , and 605 are applications permitted to perform a specific service
  • the third application 605 is It is assumed that the application is not permitted to perform a specific service.
  • the memory may store data related to the applications 601 , 603 , and 605 , and the applications 601 , 603 , and 605 .
  • the application (601, 603, 605) related data is the installation data used for the installation of the applications (601, 603, 605), binary data of the installation data of the applications (601, 603, 605) a designated algorithm (eg, SHA ( The first hash data generated by inputting to a function implemented by secure hast algorithm)1, SHA256, or MD (message-digest algorithm)5), and the first hash data in various ways (eg, symmetric key encryption, public It may include at least one of the first signature data that is data encrypted by key encryption method encryption) or a decryption key used to decrypt the encrypted data.
  • SHA The first hash data generated by inputting to a function implemented by secure hast algorithm
  • SHA256 SHA256
  • MD messages-digest algorithm
  • the communication circuit 611 transmits data transmitted by the applications 601 , 603 , and 605 to an external server (eg, the external server in FIG. 4 ) connected to the core network 420 through cellular communication. 430)) to transmit (or receive).
  • the communication circuit 611 may generate and manage a channel for transmitting or receiving the first data 1103 to the external server 430 .
  • the communication circuit 611 may transmit or receive the first data 1103 based on the control of the UE Route Selection Policy (URSP) handler 1101 .
  • URSP UE Route Selection Policy
  • the USRP Handler 1101 may set the transmission path or reception path of the application (601, 603, 605) data based on the information on the data transmission path transmitted by the core network 420. have.
  • the core network 420 may include various logically implemented components. Various logically implemented components may be distinguished based on functions, and various components may each perform different functions.
  • the components of the core network 420 illustrated in FIG. 11 are components necessary for the description of FIG. 11 , and the core network 420 may further include components not illustrated in FIG. 11 .
  • the core network 420 may include an access and mobility management function (AMF) 1111 .
  • the AMF 1111 performs a registration procedure on the cellular communication network of the electronic device 400 , mobility management of the electronic device 400 (eg, checking the location of the electronic device 400 ), and a connection between the electronic device 400 and the cellular communication network. Connection management can be performed.
  • the core network 420 may include an application function (AF) 1113 .
  • the AF 1113 may monitor a flow of a packet including user data to ensure a specific quality, and transmit information about the flow of the packet to the PCF 1115 .
  • the core network 420 may include a policy control function (PCF) 1115 .
  • the PCF 1115 may manage a policy of a cellular communication network provided by the core network 420 .
  • the PCF 1115 determines a policy for session management or mobility management based on information on packet flow provided by the AF 1113 , and operates based on the session management policy or mobility management policy determined by the AMF 1111 . It is possible to control the AMF (1111) to do so.
  • the PCF 1115 transmits URSP information, which means a policy for designating a transmission path (or reception path) of data exchanged between the electronic device 400 and the external server 430, to the AMF ( 1111) through the USRP Handler (1101) can be transmitted.
  • URSP information means a policy for designating a transmission path (or reception path) of data exchanged between the electronic device 400 and the external server 430.
  • the USRP information may include information indicating that data related to a specific application (eg, the first application 601) is transmitted through a specific data transmission path.
  • the USRP Handler 1101 may transmit data related to a specific application (eg, the first application 601) based on the USRP information to the external server 430 through a transmission path (eg, channel) included in the USRP information. It is possible to control the communication circuit 611 so that
  • the USRP information may include identification information of a specific application (eg, the name of a specific application) and/or data for validating the application.
  • the USRP information may include compressed data or encrypted data generated based on identification information of a specific application and/or data for validation of the application. Compressed data or encrypted data may be used for application validation based on a decompression algorithm or a decryption key received through another path.
  • data for validation of an application may mean data that can be used for validation of applications 601 , 603 , and 605 .
  • the data for validation of the application is the second hash data generated by inputting binary data of the installation data of the application (601, 603, 605) into a function implemented by a specified algorithm (eg, SHA1, SHA256, MD5).
  • the second hash data may include at least one of a second signature data, which is data encrypted by a specified method (eg, symmetric key encryption, public key encryption), or a decryption key used to decrypt the encrypted data. have.
  • the USRP HANDLER 1101 is an application requesting service performance based on data for validation of the application (601, 603, 605) included in the access information of the third server 530 ( 601, 603, and 605) can be validated.
  • the USRP HANDLER 1101 is included in the data for validation of the first signature data and the application (601, 603, 605) included in the data related to the application stored in the memory (607). It can be checked whether the second signature data match.
  • the applications 601 , 603 , and 605 installed in the electronic device 400 are valid applications 601 , 603 , the first signature data and the second signature data may match.
  • the application 605 installed in the electronic device 400 is an invalid application (eg, when the third application 605 has the same name as the first application 601 , the third application 605 is valid) may not be an application), the first signature data and the second signature data may not match.
  • the USRP HANDLER 1101 in response to confirming that the USRP HANDLER 1101 matches the first signature data and the second signature data, it can be confirmed that the applications 601 and 603 that have requested service performance are valid applications. . In response to confirming that the USRP HANDLER 1101 does not match the first signature data and the second signature data, it can confirm that the application 605 requesting service performance is an invalid application.
  • the USRP HANDLER 1101 includes the first hash data included in the application-related data stored in the memory 607 and data for validation of the applications 601, 603, and 605. It can be checked whether the second hash data match.
  • the applications 601 , 603 , and 605 installed in the electronic device 400 are valid applications 601 , 603 , the first hash data and the second hash data may match.
  • the application 605 installed in the electronic device 400 is an invalid application (eg, when the third application 605 has the same name as the first application 601 , the third application 605 is valid) application), the first hash data and the second hash data may not match.
  • the USRP HANDLER 1101 may perform data transmission/reception using a transmission path included in the USRP information in response to confirming that the applications 601 and 603 are valid.
  • USRP HANDLER (1101) is the application (601, 603) transmits the first data 1103 to the external server 430 using the transmission path included in the USRP information, or the data transmitted by the external server 430 USRP
  • the communication circuit 611 may be controlled to receive information using a transmission path included in the information.
  • the USRP HANDLER 1101 responds to confirming that the application 605 is not valid, and does not use the transmission path included in the USRP information and uses a different path to the external server 430 . can connect to
  • An electronic device may include: a memory for storing application-related data, an application, and/or an edge enabler client (EEC); a communication circuit for use in a communication connection between the electronic device and a first server, a second server and/or a third server external to the electronic device via a base station; and a processor, wherein the application is configured to perform one or more functions corresponding to an application that can be executed on the third server on the electronic device, and the processor is configured to perform one or more functions from the first server and/or the second server 3
  • the application is configured to perform one or more functions corresponding to an application that can be executed on the third server on the electronic device, and the processor is configured to perform one or more functions from the first server and/or the second server 3
  • data for validating the application included in the access information of the third server and the application In response to receiving the access information of the server, and in response to a service connection request using the third server of the application stored in the memory, data for validating the application included in the access information of the third server and the application
  • the processor compares first signature data included in data related to the application with second signature data included in data for validation of the application, and the comparison result based on the access to the third server may be configured to perform the service.
  • the processor compares first hash data and second hash data included in the data related to the application, and accesses the third server based on the comparison result to access the Data that is set to perform a service, and the second hash data is generated by decrypting the second signature data included in the data for validation of the application using a decryption key included in the data for validation of the application can be
  • the processor compares first hash data included in data related to the application with second hash data included in data for validation of the application, and the comparison result based on the access to the third server may be configured to perform the service.
  • the processor receives a decryption key from the first server, and decrypts second signature data included in data for validation of the application based on the decryption key method to generate second hash data, compare the first hash data and the second hash data included in the data related to the application, and access the third server based on the comparison result to perform the service can be set.
  • the processor decrypts the first signature data included in the data related to the application based on the decryption key included in the data for validation of the application, in a second method It may be configured to generate hash data, compare the first hash data and the second hash data included in the application-related data, and access the third server based on the comparison result to perform the service. .
  • the processor receives a decryption key from an external server, and decrypts authentication data included in data for validating the application validity based on the decryption key. It may be configured to generate hash data, compare the first hash data and the second hash data included in the application-related data, and access the third server based on the comparison result to perform the service. .
  • data for validating the application may be configured to be received from the second server.
  • the processor may be configured to perform wireless communication through the third server based on a result of checking the validity of the application.
  • the processor may be configured to perform the service through the third server in response to confirming that the validation of the application is successful.
  • the processor may be configured to block data transmission using the application in response to confirming that validation of the application has failed.
  • FIG. 12 is an operation flowchart illustrating a method 1200 of operating an electronic device according to various embodiments of the present disclosure.
  • the electronic device accesses at least one second server (eg, the second server 520 of FIG. 5 ).
  • the information may be received from the first server (eg, the first server 510 of FIG. 5 ).
  • the access information of the second server 520 may include identification information of the second server 520 , IP address information of the second server 520 , domain information of the second server 520 , or It may include at least one of URI information of the second server 520 .
  • the electronic device 400 transmits information from at least one second server 520 to at least one third server (eg, the third server 530 of FIG. 5 ). You can receive connection information.
  • the EEC 503 may perform an edge service discovery procedure for acquiring information on the third server 530 capable of providing an edge computing service to the application 505 .
  • the EEC 503 may transmit an edge service discovery request message for requesting access information of at least one third server 530 connected to the second server 520 to the second server 520 .
  • the second server 520 may transmit an edge service discovery response message including the access information of the third server 530 stored by the second server 520 to the EEC 503 .
  • the access information of the third server 530 may include an identifier of the third server 530 and information for accessing the applications 531 and 533 installed on the third server 530 .
  • Information for accessing the applications 531 and 533 installed on the third server 530 includes access address information (eg, URI information, IP address and/or domain address) for accessing a service using the applications 531 and 533 . ) or a service identifier (EAS ID).
  • access address information eg, URI information, IP address and/or domain address
  • EAS ID service identifier
  • the access information of the third server 530 may include data for validating the application. Verification of the validity of the applications 601 , 603 , and 605 may refer to an operation of checking whether the application is allowed to perform a service using the third server 530 .
  • data for validation of an application may mean data that can be used for validation of applications 601 , 603 , and 605 .
  • the data for validation of the application is the second hash data generated by inputting binary data of the installation data of the application (601, 603, 605) into a function implemented by a specified algorithm (eg, SHA1, SHA256, MD5).
  • a decryption key used to decrypt the second signature data or encrypted data which is data obtained by encrypting the second hash data by a specified method (eg, symmetric key encryption, public key encryption), and applications 601, 603, 605 ) may include at least one of a certificate and hash data of the certificate.
  • the electronic device 400 may check the validity of the application based on data for validating the application.
  • the electronic device 400 includes first signature data included in application-related data stored in a memory (eg, the memory 607 of FIG. 6 ) and the applications 601 , 603 , and 605 . It may be checked whether the second signature data included in the data for validation is identical. When the applications 601 , 603 , and 605 installed in the electronic device 400 are valid applications 601 , 603 , the first signature data and the second signature data may match. When the application 605 installed in the electronic device 400 is an invalid application (eg, when the third application 605 has the same name as the first application 601 , the third application 605 is valid) may not be an application), the first signature data and the second signature data may not match.
  • a memory eg, the memory 607 of FIG. 6
  • the applications 601 , 603 , and 605 installed in the electronic device 400 are valid applications 601 , 603 , the first signature data and the second signature data may match.
  • the application 605 installed in the electronic device 400 is an invalid application (eg
  • the electronic device 400 may confirm that the applications 601 and 603 requesting service performance are valid applications. . In response to confirming that the first signature data and the second signature data do not match, the electronic device 400 may confirm that the application 605 requesting service execution is an invalid application.
  • the electronic device 400 includes first hash data included in application-related data stored in the memory 607 and data for validation of the applications 601 , 603 , and 605 . It can be checked whether the second hash data match.
  • the applications 601 , 603 , and 605 installed in the electronic device 400 are valid applications 601 , 603 , the first hash data and the second hash data may match.
  • the application 605 installed in the electronic device 400 is an invalid application (eg, when the third application 605 has the same name as the first application 601 , the third application 605 is valid) application), the first hash data and the second hash data may not match.
  • the electronic device 400 may generate second hash data by using the second signature data and the decryption key included in data for validating the applications 601 , 603 , and 605 . have.
  • the electronic device 400 may check whether the first hash data and the second hash data included in the application-related data stored in the memory 607 match each other.
  • the electronic device 400 may receive a decryption key for decrypting the second signature data from the first server 510 from the first server 510 .
  • the electronic device 400 may generate second hash data by using the second signature data included in the data for validation of the applications 601 , 603 , and 605 and the decryption key received from the first server 510 . have.
  • the electronic device 400 may check whether the first hash data and the second hash data included in the application-related data stored in the memory 607 match each other.
  • the electronic device 400 includes data related to the applications 601 , 603 , and 605 using a decryption key included in the data for validating the applications 601 , 603 , and 605 .
  • the first signature data can be decrypted.
  • the electronic device 400 may check whether the decryption value of the first signature data matches the first hash data.
  • the electronic device 400 may confirm that the applications 601 and 603 that have requested service performance are valid applications. . In response to confirming that the first hash data and the second hash data do not match, the electronic device 400 may confirm that the application 605 requesting service execution is an invalid application.
  • the electronic device 400 may perform a service by accessing the third server 530 based on the validation result of the applications 601 , 603 , and 605 . .
  • the electronic device 400 may access the third server 530 and perform a service.
  • the electronic device 400 transmits data to the third server 530 by the applications 601 and 603 or transmits data transmitted by the third server 530 to the applications 601 and 603 through a communication circuit ( 611) can be controlled.
  • the electronic device 400 may block an operation of accessing the third server 530 to perform a service.
  • the electronic device 400 may control the communication circuit 611 so that the application 605 transmits data to the external server 430 or the application 605 receives data transmitted by the external server 430 . have.
  • a method of operating an electronic device may include: receiving, from a first server, access information of a second server for accessing a second server; receiving access information of a third server from the second server accessed based on the access information of the second server; checking the validity of the application based on data for validating the application included in the access information of the third server in response to a service connection request using the third server of the application; and performing the service by accessing the third server based on a result of checking the validity of the application.
  • first signature data included in data related to an application stored in a memory of the electronic device and second signature data included in data for validating the application are compared. action to do; and performing the service by accessing the third server based on the comparison result.
  • An operating method of an electronic device may include comparing first hash data and second hash data included in data related to the application stored in a memory of the electronic device; and performing the service by accessing the third server based on the comparison result, wherein the second hash data includes second signature data included in data for validating the application of the application. It may be data generated by decrypting using a decryption key included in data for validation.
  • first hash data included in data related to the application stored in the memory of the electronic device and second hash data included in data for validating the application are performed. comparing action; and performing the service by accessing the third server based on the comparison result.
  • An operating method of an electronic device may include: receiving a decryption key from the first server; generating second hash data in a manner that decrypts second signature data included in data for validation of the application based on the decryption key; comparing the first hash data and the second hash data included in the application-related data; and performing the service by accessing the third server based on the comparison result.
  • the method of operating an electronic device includes a method of decrypting first signature data included in data related to the application based on a decryption key included in data for validating the application validity by decrypting the second hash generating data; comparing the first hash data and the second hash data included in the application-related data; and performing the service by accessing the third server based on the comparison result.
  • An operating method of an electronic device may include: receiving a decryption key from an external server; generating second hash data by decrypting authentication data included in data for validating the application validity based on the decryption key; comparing the first hash data and the second hash data included in the application-related data; and performing the service by accessing the third server based on the comparison result.
  • a method of operating an electronic device includes: transmitting a signal requesting access information of the third server including a service identifier that the third server can provide; and receiving access information of the third server including data for validating the application corresponding to the service identifier, wherein the data for validating the application is the third server's access information. It may be present in a service identifier (EAS) field or an application identifier (ACID) field.
  • EAS service identifier
  • ACID application identifier
  • An operating method of an electronic device may include performing the service through the third server in response to confirming that the validation of the application is successful; Alternatively, the method may further include any one of the operations of blocking the operation of performing the service through the third server in response to confirming that the validation of the application has failed.
  • the electronic device may have various types of devices.
  • the electronic device may include, for example, a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance device.
  • a portable communication device eg, a smart phone
  • a computer device e.g., a smart phone
  • a portable multimedia device e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a wearable device e.g., a smart bracelet
  • a home appliance device e.g., a home appliance
  • first, second, or first or second may be used simply to distinguish the element from other elements in question, and may refer to elements in other aspects (e.g., importance or order) is not limited. that one (eg first) component is “coupled” or “connected” to another (eg, second) component, with or without the terms “functionally” or “communicatively” When referenced, it means that one component can be connected to the other component directly (eg by wire), wirelessly, or through a third component.
  • module may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as, for example, logic, logic block, component, or circuit.
  • a module may be an integrally formed part or a minimum unit or a part of the part that performs one or more functions.
  • the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • one or more instructions stored in a storage medium may be implemented as software (eg, the program 140) including
  • a processor eg, processor 120
  • a device eg, electronic device 101
  • the one or more instructions may include code generated by a compiler or code executable by an interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not contain a signal (eg, electromagnetic wave), and this term is used in cases where data is semi-permanently stored in the storage medium and It does not distinguish between temporary storage cases.
  • a signal eg, electromagnetic wave
  • the method according to various embodiments disclosed in this document may be provided as included in a computer program product.
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product is distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play StoreTM) or on two user devices (eg, It can be distributed (eg downloaded or uploaded) directly, online between smartphones (eg: smartphones).
  • a part of the computer program product may be temporarily stored or temporarily created in a machine-readable storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
  • each component eg, a module or a program of the above-described components may include a singular or a plurality of entities.
  • one or more components or operations among the above-described corresponding components may be omitted, or one or more other components or operations may be added.
  • a plurality of components eg, a module or a program
  • the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. .
  • operations performed by a module, program, or other component are executed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations are executed in a different order, or omitted. or one or more other operations may be added.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

다양한 실시예에 따른 전자 장치 및 전자 장치의 동작 방법에서, 전자 장치는, 제 1 서버로부터 제 2 서버의 접속을 위한 제 2서버의 접속 정보를 수신하고,상기 제 2 서버의 접속 정보에 기반하여 접속한 상기 제 2 서버로부터 제 3 서버의 접속 정보를 수신하고, 어플리케이션의 상기 제 3 서버를 이용한 서비스 연결 요청에 대응하여, 상기 제 3 서버의 접속 정보에 포함된 상기 어플리케이션의 유효성 검증을 위한 데이터에 기반하여 상기 어플리케이션의 유효성을 확인하고, 상기 어플리케이션의 유효성의 확인 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행할 수 있다.

Description

에지 컴퓨팅 서비스를 수행하는 전자 장치 및 전자 장치의 동작 방법
본 발명의 다양한 실시예는, 전자 장치 및 전자 장치의 동작 방법에 관한 것으로, 에지 컴퓨팅 서비스를 수행하는 전자 장치에 관한 것이다.
스마트 폰(smart phone), 태블릿 PC(tablet PC), PMP(portable multimedia player), PDA(personal digital assistant), 랩탑 PC(laptop personal computer) 및 웨어러블 기기(wearable device) 등의 다양한 전자 장치들이 보급되면서, 다양한 전자 장치들이 통신을 수행하는데 이용되는 다양한 무선 통신 기술들이 개발되고 있다.
4G 통신 시스템 상용화 이후 증가 추세에 있는 무선 데이터 트래픽 수요를 충족시키기 위해, 5G 통신 시스템개발하기 위한 노력이 이루어지고 있다. 이러한 이유로, 5G 통신 시스템은 4G 네트워크 이후 (Beyond 4G Network) 통신 시스템 또는 LTE 시스템 이후 (Post LTE) 이후의 시스템이라 불리어지고 있다. 높은 데이터 전송률을 달성하기 위해, 5G 통신 시스템은 6G이하의 대역 외에, 더 높은 주파수 대역 (예를 들어, 60기가(60GHz) 대역과 같은)에서의 구현도 고려되고 있다. 5G 통신 시스템에서는 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO), 전차원 다중입출력(Full Dimensional MIMO: FD-MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 및 대규모 안테나 (large scale antenna) 기술들이 논의되고 있다.
5G 통신 시스템에서는, 전송 시간의 감소 또는 지연 시간의 감소를 구현하기 위해서 다양한 기술들이 제안되고 구현 중에 있다. 구현되는 기술 중 에지 컴퓨팅 서비스는 기지국과 근접한 영역에 에지 네트워크 시스템을 구현하고, 기지국과 연결된 전자 장치가, 기지국과 근접한 영역에 구현된 에지 네트워크 시스템을 이용한 다양한 서비스를 제공받을 수 있는 기술을 의미한다. 에지 컴퓨팅 서비스는 사용자의 전자 장치와 네트워크 사이의 거리를 감소시킬 수 있으며, 감소된 거리로 인해 빠른 속도의 서비스를 제공할 수 있다.
에지 컴퓨팅 서비스를 수행할 수 있는 전자 장치는, 특정 어플리케이션의 에지 컴퓨팅 서비스의 연결 요청을 감지하고, 에지 데이터 네트워크로부터 에지 컴퓨팅 서비스를 수행할 수 있는 서버에 대한 정보를 수신할 수 있다. 전자 장치는 서버에 대한 정보에 기반하여 에지 데이터 네트워크에 대한 연결을 수행할 수 있다.
서버에 대한 정보는 에지 컴퓨팅 서비스를 이용할 수 있는 어플리케이션에 대한 식별 정보가 포함될 수 있다. 전자 장치는 어플리케이션의 식별 정보와 에지 컴퓨팅 서비스의 연결 요청을 한 어플리케이션의 식별 정보가 일치하는지 여부를 확인하고, 에지 컴퓨팅 서비스를 제공할 수 있다.
어플리케이션의 식별 정보는 신뢰성이 상대적으로 낮은 어플리케이션의 이름으로 구현되어 있다. 따라서, 에지 컴퓨팅 서비스의 연결 요청을 한 어플리케이션이 유효한 어플리케이션과 동일한 이름을 갖지만, 유효하지 않은 어플리케이션인 경우, 전자 장치는 유효하지 않은 어플리케이션이 에지 컴퓨팅 서비스를 수행하는 것을 방지하지 못할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치는 어플리케이션과 관련된 데이터, 어플리케이션 및/또는 에지 인에이블러 클라이언트(EEC)를 저장하기 위한 메모리; 기지국을 통해 상기 전자 장치와 상기 전자 장치의 외부에 존재하는, 제 1 서버, 제 2 서버 및/또는 제 3 서버 사이의 통신 연결에 사용되기 위한 통신 회로; 및 프로세서를 포함하고, 상기 어플리케이션은 상기 제 3 서버에서 실행될 수 있는 어플리케이션에 대응하는 하나 이상의 기능들을 상기 전자 장치 상에서 수행하도록 설정되고, 상기 프로세서는 상기 제 1 서버 및/또는 상기 제 2 서버로부터 제 3 서버의 접속 정보를 수신하고, 상기 메모리에 저장된 어플리케이션의 상기 제 3 서버를 이용한 서비스 연결 요청에 대응하여, 상기 제 3 서버의 접속 정보에 포함된 상기 어플리케이션의 유효성 검증을 위한 데이터 및 상기 어플리케이션과 관련된 데이터에 기반하여 상기 어플리케이션의 유효성을 확인하고, 및 상기 어플리케이션의 유효성의 확인 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법은 제 1 서버로부터 제 2 서버의 접속을 위한 제 2서버의 접속 정보를 수신하는 동작; 상기 제 2 서버의 접속 정보에 기반하여 접속한 상기 제 2 서버로부터 제 3 서버의 접속 정보를 수신하는 동작; 어플리케이션의 상기 제 3 서버를 이용한 서비스 연결 요청에 대응하여, 상기 제 3 서버의 접속 정보에 포함된 상기 어플리케이션의 유효성 검증을 위한 데이터에 기반하여 상기 어플리케이션의 유효성을 확인하는 동작; 및 상기 어플리케이션의 유효성의 확인 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치 및 전자 장치의 동작 방법은 에지 컴퓨팅 서비스의 연결 요청을 한 어플리케이션의 유효성을 검증하고, 검증 결과에 기반하여 에지 컴퓨팅 서비스를 제공할 수 있다. 따라서, 전자 장치 및 전자 장치의 동작 방법은 보안성이 향상된 에지 컴퓨팅 서비스를 제공할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치 및 전자 장치의 동작 방법은 에지 컴퓨팅 서비스의 연결 요청을 한 어플리케이션의 유효성을 검증하는데 있어, 보안성이 높은 정보인 어플리케이션의 해시 데이터를 이용하여 어플리케이션의 유효성을 검증하고, 검증 결과에 기반하여 에지 컴퓨팅 서비스를 제공할 수 있다. 따라서, 전자 장치 및 전자 장치의 동작 방법은 보안성이 향상된 에지 컴퓨팅 서비스를 제공할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치 및 전자 장치의 동작 방법은 에지 컴퓨팅 서비스의 연결 요청을 한 어플리케이션의 유효성을 검증하는데 있어, 보안성이 높은 정보인 어플리케이션의 해시 데이터를 암호화한 서명 데이터를 이용하여 어플리케이션의 유효성을 검증하고, 검증 결과에 기반하여 에지 컴퓨팅 서비스를 제공할 수 있다. 따라서, 전자 장치 및 전자 장치의 동작 방법은 보안성이 향상된 에지 컴퓨팅 서비스를 제공할 수 있다.
도 1은 본 발명의 다양한 실시예에 따른 전자 장치의 블록도이다.
도 2는 본 발명의 다양한 실시예에 따른 전자 장치의 블록도이다.
도 3은 본 발명의 다양한 실시예에 따른 프로그램을 예시하는 블록도이다.
도 4는 본 발명의 다양한 실시예에 따른 네트워크 시스템을 도시한 블록도이다.
도 5는 본 발명의 다양한 실시예에 따른 전자 장치 및 에지 네트워크를 도시한 도면이다.
도 6은 본 발명의 다양한 실시예에 따른 전자 장치가, 어플리케이션의 유효성 검증에 기반하여 제 3 서버를 이용한 서비스를 수행하는 실시예를 도시한 도면이다.
도 7은 본 발명의 다양한 실시예에 따른 전자 장치가 어플리케이션의 유효성 검증에 기반하여 제 3 서버를 이용한 서비스를 수행하는 동작을 도시한 동작 흐름도이다.
도 8은 본 발명의 다양한 실시예에 따른 전자 장치가 어플리케이션의 유효성 검증을 수행하는 실시예를 도시한 도면이다.
도 9는 본 발명의 다양한 실시예에 따른 전자 장치가 제 1 서버에서 수신한 복호화 키를 이용한 어플리케이션의 유효성 검증을 수행하는 실시예를 도시한 도면이다.
도 10은 본 발명의 다양한 실시예에 따른 전자 장치가 인증서를 관리하는 외부 서버가 생성한 복호화 키를 이용한 어플리케이션의 유효성 검증을 수행하는 실시예를 도시한 도면이다.
도 11은 본 발명의 다양한 실시예에 따른 전자 장치가 어플리케이션의 유효성 검증 결과에 기반하여 데이터 전송 경로를 설정하는 실시예를 도시한 도면이다.
도 12는 본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법을 도시한 동작 흐름도이다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블럭도이다. 도 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))가 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(160)(예: 디스플레이)에 임베디드된 채 구현될 수 있다
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(123)은 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(150)은, 예를 들면, 마이크, 마우스, 키보드, 또는 디지털 펜(예:스타일러스 펜)을 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 장치(155)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
표시 장치(160)는 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(160)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150) 를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)) (예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)이 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)은, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(388)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(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)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 하나의 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC)이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(102, 104, or 108) 중 하나 이상의 외부 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도2는 다양한 실시예들에 따른, 레거시 네트워크 통신 및 5G 네트워크 통신을 지원하기 위한 전자 장치(101)의 블록도(200)이다. 도 2를 참조하면, 전자 장치(101)는 제 1 커뮤니케이션 프로세서(212), 제 2 커뮤니케이션 프로세서(214), 제 1 radio frequency integrated circuit(RFIC)(222), 제 2 RFIC(224), 제 3 RFIC(226), 제 4 RFIC(228), 제 1 radio frequency front end(RFFE)(232), 제 2 RFFE(234), 제 1 안테나 모듈(242), 제 2 안테나 모듈(244), 및 안테나(248)을 포함할 수 있다. 전자 장치(101)는 프로세서(120) 및 메모리(130)를 더 포함할 수 있다. 네트워크(199)는 제 1 네트워크(292)와 제2 네트워크(294)를 포함할 수 있다. 다른 실시예에 따르면, 전자 장치(101)는 도1에 기재된 부품들 중 적어도 하나의 부품을 더 포함할 수 있고, 네트워크(199)는 적어도 하나의 다른 네트워크를 더 포함할 수 있다. 일실시예에 따르면, 제 1 커뮤니케이션 프로세서(212), 제 2 커뮤니케이션 프로세서(214), 제 1 RFIC(222), 제 2 RFIC(224), 제 4 RFIC(228), 제 1 RFFE(232), 및 제 2 RFFE(234)는 무선 통신 모듈(192)의 적어도 일부를 형성할 수 있다. 다른 실시예에 따르면, 제 4 RFIC(228)는 생략되거나, 제 3 RFIC(226)의 일부로서 포함될 수 있다.
제 1 커뮤니케이션 프로세서(212)는 제 1 네트워크(292)와의 무선 통신에 사용될 대역의 통신 채널의 수립, 및 수립된 통신 채널을 통한 레거시 네트워크 통신을 지원할 수 있다. 다양한 실시예들에 따르면, 제 1 네트워크는 2세대(2G), 3G, 4G, 또는 long term evolution(LTE) 네트워크를 포함하는 레거시 네트워크일 수 있다. 제 2 커뮤니케이션 프로세서(214)는 제 2 네트워크(294)와의 무선 통신에 사용될 대역 중 지정된 대역(예: 약 6GHz ~ 약 60GHz)에 대응하는 통신 채널의 수립, 및 수립된 통신 채널을 통한 5G 네크워크 통신을 지원할 수 있다. 다양한 실시예들에 따르면, 제 2 네트워크(294)는 3GPP에서 정의하는 5G 네트워크일 수 있다. 추가적으로, 일실시예에 따르면, 제 1 커뮤니케이션 프로세서(212) 또는 제 2 커뮤니케이션 프로세서(214)는 제 2 네트워크(294)와의 무선 통신에 사용될 대역 중 다른 지정된 대역(예: 약 6GHz 이하)에 대응하는 통신 채널의 수립, 및 수립된 통신 채널을 통한 5G 네크워크 통신을 지원할 수 있다. 일실시예에 따르면, 제 1 커뮤니케이션 프로세서(212)와 제 2 커뮤니케이션 프로세서(214)는 단일(single) 칩 또는 단일 패키지 내에 구현될 수 있다. 다양한 실시예들에 따르면, 제 1 커뮤니케이션 프로세서(212) 또는 제 2 커뮤니케이션 프로세서(214)는 프로세서(120), 보조 프로세서(123), 또는 통신 모듈(190)과 단일 칩 또는 단일 패키지 내에 형성될 수 있다.
제 1 RFIC(222)는, 송신 시에, 제 1 커뮤니케이션 프로세서(212)에 의해 생성된 기저대역(baseband) 신호를 제 1 네트워크(292)(예: 레거시 네트워크)에 사용되는 약 700MHz 내지 약 3GHz의 라디오 주파수(RF) 신호로 변환할 수 있다. 수신 시에는, RF 신호가 안테나(예: 제 1 안테나 모듈(242))를 통해 제 1 네트워크(292)(예: 레거시 네트워크)로부터 획득되고, RFFE(예: 제 1 RFFE(232))를 통해 전처리(preprocess)될 수 있다. 제 1 RFIC(222)는 전처리된 RF 신호를 제 1 커뮤니케이션 프로세서(212)에 의해 처리될 수 있도록 기저대역 신호로 변환할 수 있다.
제 2 RFIC(224)는, 송신 시에, 제 1 커뮤니케이션 프로세서(212) 또는 제 2 커뮤니케이션 프로세서(214)에 의해 생성된 기저대역 신호를 제 2 네트워크(294)(예: 5G 네트워크)에 사용되는 Sub6 대역(예: 약 6GHz 이하)의 RF 신호(이하, 5G Sub6 RF 신호)로 변환할 수 있다. 수신 시에는, 5G Sub6 RF 신호가 안테나(예: 제 2 안테나 모듈(244))를 통해 제 2 네트워크(294)(예: 5G 네트워크)로부터 획득되고, RFFE(예: 제 2 RFFE(234))를 통해 전처리될 수 있다. 제 2 RFIC(224)는 전처리된 5G Sub6 RF 신호를 제 1 커뮤니케이션 프로세서(212) 또는 제 2 커뮤니케이션 프로세서(214) 중 대응하는 커뮤니케이션 프로세서에 의해 처리될 수 있도록 기저대역 신호로 변환할 수 있다.
제 3 RFIC(226)는 제 2 커뮤니케이션 프로세서(214)에 의해 생성된 기저대역 신호를 제 2 네트워크(294)(예: 5G 네트워크)에서 사용될 5G Above6 대역(예: 약 6GHz ~ 약 60GHz)의 RF 신호(이하, 5G Above6 RF 신호)로 변환할 수 있다. 수신 시에는, 5G Above6 RF 신호가 안테나(예: 안테나(248))를 통해 제 2 네트워크(294)(예: 5G 네트워크)로부터 획득되고 제 3 RFFE(236)를 통해 전처리될 수 있다. 제 3 RFIC(226)는 전처리된 5G Above6 RF 신호를 제 2 커뮤니케이션 프로세서(214)에 의해 처리될 수 있도록 기저대역 신호로 변환할 수 있다. 일실시예에 따르면, 제 3 RFFE(236)는 제 3 RFIC(226)의 일부로서 형성될 수 있다.
전자 장치(101)는, 일실시예에 따르면, 제 3 RFIC(226)와 별개로 또는 적어도 그 일부로서, 제 4 RFIC(228)를 포함할 수 있다. 이런 경우, 제 4 RFIC(228)는 제 2 커뮤니케이션 프로세서(214)에 의해 생성된 기저대역 신호를 중간(intermediate) 주파수 대역(예: 약 9GHz ~ 약 11GHz)의 RF 신호(이하, IF 신호)로 변환한 뒤, 상기 IF 신호를 제 3 RFIC(226)로 전달할 수 있다. 제 3 RFIC(226)는 IF 신호를 5G Above6 RF 신호로 변환할 수 있다. 수신 시에, 5G Above6 RF 신호가 안테나(예: 안테나(248))를 통해 제 2 네트워크(294)(예: 5G 네트워크)로부터 수신되고 제 3 RFIC(226)에 의해 IF 신호로 변환될 수 있다. 제 4 RFIC(228)는 IF 신호를 제 2 커뮤니케이션 프로세서(214)가 처리할 수 있도록 기저대역 신호로 변환할 수 있다.
일시예에 따르면, 제 1 RFIC(222)와 제 2 RFIC(224)는 단일 칩 또는 단일 패키지의 적어도 일부로 구현될 수 있다. 일실시예에 따르면, 제 1 RFFE(232)와 제 2 RFFE(234)는 단일 칩 또는 단일 패키지의 적어도 일부로 구현될 수 있다. 일시예에 따르면, 제 1 안테나 모듈(242) 또는 제 2 안테나 모듈(244)중 적어도 하나의 안테나 모듈은 생략되거나 다른 안테나 모듈과 결합되어 대응하는 복수의 대역들의 RF 신호들을 처리할 수 있다.
일실시예에 따르면, 제 3 RFIC(226)와 안테나(248)는 동일한 서브스트레이트에 배치되어 제 3 안테나 모듈(246)을 형성할 수 있다. 예를 들어, 무선 통신 모듈(192) 또는 프로세서(120)가 제 1 서브스트레이트(예: main PCB)에 배치될 수 있다. 이런 경우, 제 1 서브스트레이트와 별도의 제 2 서브스트레이트(예: sub PCB)의 일부 영역(예: 하면)에 제 3 RFIC(226)가, 다른 일부 영역(예: 상면)에 안테나(248)가 배치되어, 제 3 안테나 모듈(246)이 형성될 수 있다. 제 3 RFIC(226)와 안테나(248)를 동일한 서브스트레이트에 배치함으로써 그 사이의 전송 선로의 길이를 줄이는 것이 가능하다. 이는, 예를 들면, 5G 네트워크 통신에 사용되는 고주파 대역(예: 약 6GHz ~ 약 60GHz)의 신호가 전송 선로에 의해 손실(예: 감쇄)되는 것을 줄일 수 있다. 이로 인해, 전자 장치(101)는 제 2 네트워크(294)(예: 5G 네트워크)와의 통신의 품질 또는 속도를 향상시킬 수 있다.
일시예에 따르면, 안테나(248)는 빔포밍에 사용될 수 있는 복수개의 안테나 엘레멘트들을 포함하는 안테나 어레이로 형성될 수 있다. 이런 경우, 제 3 RFIC(226)는, 예를 들면, 제 3 RFFE(236)의 일부로서, 복수개의 안테나 엘레멘트들에 대응하는 복수개의 위상 변환기(phase shifter)(238)들을 포함할 수 있다. 송신 시에, 복수개의 위상 변환기(238)들 각각은 대응하는 안테나 엘레멘트를 통해 전자 장치(101)의 외부(예: 5G 네트워크의 베이스 스테이션)로 송신될 5G Above6 RF 신호의 위상을 변환할 수 있다. 수신 시에, 복수개의 위상 변환기(238)들 각각은 대응하는 안테나 엘레멘트를 통해 상기 외부로부터 수신된 5G Above6 RF 신호의 위상을 동일한 또는 실질적으로 동일한 위상으로 변환할 수 있다. 이것은 전자 장치(101)와 상기 외부 간의 빔포밍을 통한 송신 또는 수신을 가능하게 한다.
제 2 네트워크(294)(예: 5G 네트워크)는 제 1 네트워크(292)(예: 레거시 네트워크)와 독립적으로 운영되거나(예: Stand-Alone (SA)), 연결되어 운영될 수 있다(예: Non-Stand Alone (NSA)). 예를 들면, 5G 네트워크에는 액세스 네트워크(예: 5G radio access network(RAN) 또는 next generation RAN(NG RAN))만 있고, 코어 네트워크(예: next generation core(NGC))는 없을 수 있다. 이런 경우, 전자 장치(101)는 5G 네트워크의 액세스 네트워크에 액세스한 후, 레거시 네트워크의 코어 네트워크(예: evolved packed core(EPC))의 제어 하에 외부 네트워크(예: 인터넷)에 액세스할 수 있다. 레거시 네트워크와 통신을 위한 프로토콜 정보(예: LTE 프로토콜 정보) 또는 5G 네트워크와 통신을 위한 프로토콜 정보(예: New Radio(NR) 프로토콜 정보)는 메모리(230)에 저장되어, 다른 부품(예: 프로세서(120), 제 1 커뮤니케이션 프로세서(212), 또는 제 2 커뮤니케이션 프로세서(214))에 의해 액세스될 수 있다.
도 3은 다양한 실시예에 따른 프로그램(140)을 예시하는 블록도(300)이다. 일실시예에 따르면, 프로그램(140)은 전자 장치(101)의 하나 이상의 리소스들을 제어하기 위한 운영 체제(142), 미들웨어(144), 또는 상기 운영 체제(142)에서 실행 가능한 어플리케이션(146)을 포함할 수 있다. 운영 체제(142)는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM를 포함할 수 있다. 프로그램(140) 중 적어도 일부 프로그램은, 예를 들면, 제조 시에 전자 장치(101)에 프리로드되거나, 또는 사용자에 의해 사용 시 외부 전자 장치(예: 전자 장치(102 또는 104), 또는 서버(108))로부터 다운로드되거나 갱신 될 수 있다.
운영 체제(142)는 전자 장치(101)의 하나 이상의 시스템 리소스들(예: 프로세스, 메모리, 또는 전원)의 관리(예: 할당 또는 회수)를 제어할 수 있다. 운영 체제(142)는, 추가적으로 또는 대체적으로, 전자 장치(101)의 다른 하드웨어 디바이스, 예를 들면, 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 구동하기 위한 하나 이상의 드라이버 프로그램들을 포함할 수 있다.
미들웨어(144)는 전자 장치(101)의 하나 이상의 리소스들로부터 제공되는 기능 또는 정보가 어플리케이션(146)에 의해 사용될 수 있도록 다양한 기능들을 어플리케이션(146)으로 제공할 수 있다. 미들웨어(144)는, 예를 들면, 어플리케이션 매니저(301), 윈도우 매니저(303), 멀티미디어 매니저(305), 리소스 매니저(307), 파워 매니저(309), 데이터베이스 매니저(311), 패키지 매니저(313), 커넥티비티 매니저(315), 노티피케이션 매니저(317), 로케이션 매니저(319), 그래픽 매니저(321), 시큐리티 매니저(323), 통화 매니저(325), 또는 음성 인식 매니저(327)를 포함할 수 있다.
어플리케이션 매니저(301)는, 예를 들면, 어플리케이션(146)의 생명 주기를 관리할 수 있다. 윈도우 매니저(303)는, 예를 들면, 화면에서 사용되는 하나 이상의 GUI 자원들을 관리할 수 있다. 멀티미디어 매니저(305)는, 예를 들면, 미디어 파일들의 재생에 필요한 하나 이상의 포맷들을 파악하고, 그 중 선택된 해당하는 포맷에 맞는 코덱을 이용하여 상기 미디어 파일들 중 해당하는 미디어 파일의 인코딩 또는 디코딩을 수행할 수 있다. 리소스 매니저(307)는, 예를 들면, 어플리케이션(146)의 소스 코드 또는 메모리(130)의 메모리의 공간을 관리할 수 있다. 파워 매니저(309)는, 예를 들면, 배터리(189)의 용량, 온도 또는 전원을 관리하고, 이 중 해당 정보를 이용하여 전자 장치(101)의 동작에 필요한 관련 정보를 결정 또는 제공할 수 있다. 일실시예에 따르면, 파워 매니저(309)는 전자 장치(101)의 바이오스(BIOS: basic input/output system)(미도시)와 연동할 수 있다.
데이터베이스 매니저(311)는, 예를 들면, 어플리케이션(146)에 의해 사용될 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저(313)는, 예를 들면, 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 갱신을 관리할 수 있다. 커넥티비티 매니저(315)는, 예를 들면, 전자 장치(101)와 외부 전자 장치 간의 무선 연결 또는 직접 연결을 관리할 수 있다. 노티피케이션 매니저(317)는, 예를 들면, 지정된 이벤트(예: 착신 통화, 메시지, 또는 알람)의 발생을 사용자에게 알리기 위한 기능을 제공할 수 있다. 로케이션 매니저(319)는, 예를 들면, 전자 장치(101)의 위치 정보를 관리할 수 있다. 그래픽 매니저(321)는, 예를 들면, 사용자에게 제공될 하나 이상의 그래픽 효과들 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다.
시큐리티 매니저(323)는, 예를 들면, 시스템 보안 또는 사용자 인증을 제공할 수 있다. 통화(telephony) 매니저(325)는, 예를 들면, 전자 장치(101)에 의해 제공되는 음성 통화 기능 또는 영상 통화 기능을 관리할 수 있다. 음성 인식 매니저(327)는, 예를 들면, 사용자의 음성 데이터를 서버(108)로 전송하고, 그 음성 데이터에 적어도 일부 기반하여 전자 장치(101)에서 수행될 기능에 대응하는 명령어(command), 또는 그 음성 데이터에 적어도 일부 기반하여 변환된 문자 데이터를 서버(108)로부터 수신할 수 있다. 일 실시예에 따르면, 미들웨어(344)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. 일 실시예에 따르면, 미들웨어(144)의 적어도 일부는 운영 체제(142)의 일부로 포함되거나, 또는 운영 체제(142)와는 다른 별도의 소프트웨어로 구현될 수 있다.
어플리케이션(146)은, 예를 들면, 홈(351), 다이얼러(353), SMS/MMS(355), IM(instant message)(357), 브라우저(359), 카메라(361), 알람(363), 컨택트(365), 음성 인식(367), 이메일(369), 달력(371), 미디어 플레이어(373), 앨범(375), 와치(377), 헬스(379)(예: 운동량 또는 혈당과 같은 생체 정보를 측정), 또는 환경 정보(381)(예: 기압, 습도, 또는 온도 정보 측정) 어플리케이션을 포함할 수 있다. 일실시예에 따르면, 어플리케이션(146)은 전자 장치(101)와 외부 전자 장치 사이의 정보 교환을 지원할 수 있는 정보 교환 어플리케이션(미도시)을 더 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치로 지정된 정보 (예: 통화, 메시지, 또는 알람)를 전달하도록 설정된 노티피케이션 릴레이 어플리케이션, 또는 외부 전자 장치를 관리하도록 설정된 장치 관리 어플리케이션을 포함할 수 있다. 노티피케이션 릴레이 어플리케이션은, 예를 들면, 전자 장치(101)의 다른 어플리케이션(예: 이메일 어플리케이션(369))에서 발생된 지정된 이벤트(예: 메일 수신)에 대응하는 알림 정보를 외부 전자 장치로 전달할 수 있다. 추가적으로 또는 대체적으로, 노티피케이션 릴레이 어플리케이션은 외부 전자 장치로부터 알림 정보를 수신하여 전자 장치(101)의 사용자에게 제공할 수 있다.
장치 관리 어플리케이션은, 예를 들면, 전자 장치(101)와 통신하는 외부 전자 장치 또는 그 일부 구성 요소(예: 표시 장치(160) 또는 카메라 모듈(180))의 전원(예: 턴-온 또는 턴-오프) 또는 기능(예: 표시 장치(160) 또는 카메라 모듈(180)의 밝기, 해상도, 또는 포커스)을 제어할 수 있다. 장치 관리 어플리케이션은, 추가적으로 또는 대체적으로, 외부 전자 장치에서 동작하는 어플리케이션의 설치, 삭제, 또는 갱신을 지원할 수 있다.
도 4는 본 발명의 다양한 실시예에 따른 네트워크 시스템을 도시한 블록도이다.
도 4는 전자 장치(400)가 에지 네트워크 시스템을 이용하기 위한 네트워크 시스템을 도시하고 있다.
도 4를 참조하면, 본 발명의 다양한 실시예에 따르면, 네트워크 시스템은 전자 장치(예: 도 1의 전자 장치(101))(400), 기지국(410), 코어 네트워크(420), 서버(430) 및/또는 에지 네트워크 시스템(500)을 포함할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치(400)는 기지국(410) 및 코어 네트워크(420)를 통해 서버(430)가 제공하는 데이터를 수신하거나, 서버(430)로 데이터를 전송할 수 있다. 서버(430)는 셀룰러 통신 사업자가 운영하는 망(예를 들면, 기지국(410) 및 코어 네트워크(420)를 포함하는 망)의 외부(예: 인터넷 망)에 존재하는 서버일 수 있다. 일 실시예에 따르면, 서버(430)의 운영 주체는 셀룰러 통신 사업자와 다른 사업자일 수 있다.
본 발명의 다양한 실시예에서, 전자 장치(400)는 셀룰러 통신을 수행하면서, 기지국(410)과 제어 데이터 또는 사용자 데이터를 전송하거나, 수신할 수 있다. 셀룰러 통신은 전자 장치(400)가 지원 가능한 다양한 셀룰러 통신 방식 중 어느 하나의 통신 방식을 의미할 수 있다. 예를 들면, 셀룰러 통신은 제 1 네트워크(예: 도 1의 제 1 네트워크(192))를 통한 셀룰러 통신(예: LTE(long-term evolution), LTE-A(LTE-advanced), LTE-A pro(LTE Advanced pro)), 또는 제 2 네트워크(예: 도 1의 제 2 네트워크(194))를 통한 셀룰러 통신(예: 5G on below 6GHz, 또는 5G on above 6GHz) 중 어느 하나의 방식일수 있다.
본 발명의 다양한 실시예에 따르면, 기지국(410)은 전자 장치(400)와 무선으로 연결되고, 코어 네트워크(420) 및/또는 에지 네트워크(500)와 유선 또는 무선으로 연결되어, 전자 장치(400)와 코어 네트워크(420) 및/또는 에지 네트워크(500) 간의 데이터 전송 또는 수신을 위한 경로를 형성할 수 있다. 기지국(410)은 코어 네트워크(420) 및/또는 에지 네트워크(500)가 전송하는 제어 데이터 또는 사용자 데이터를 전자 장치(400)로 전송할 수 있다. 기지국(410)은 전자 장치(400)가 전송하는 제어 데이터 또는 사용자 데이터를 코어 네트워크(420) 및/또는 에지 네트워크(500)로 전송할 수 있다. 제어 데이터는 전자 장치(400)의 셀룰러 통신을 통한 다양한 동작에 대한 제어를 위한 데이터를 의미할 수 있다. 사용자 데이터는 전자 장치(400)의 셀룰러 통신을 통해 전송되는 IP 데이터를 의미할 수 있다. 예를 들어, 기지국(410)은 4세대 이동 통신 방식에서 eNB(또는, eNodeB)로, 5세대 이동 통신 방식에서 gNB(또는, gNodeB)로 정의될 수 있다.
본 발명의 다양한 실시예에 따르면, 코어 네트워크(420)는 전자 장치(400)가 이용하는 셀룰러 통신을 이용한 다양한 기능(예: 호 연결, IP 데이터 처리, 전자 장치(400) 인증, 전자 장치(400)가 이용하는 셀룰러 통신 서비스의 과금 처리, 전자 장치(400)의 이동성 관리 또는 전자 장치(400)와 외부 망과 연결)을 수행할 수 있다. 코어 네트워크(420)는 4세대 이동 통신 방식에서 EPC(evolved packet core)로, 5세대 이동 통신 방식에서 5GC(5 generation core)로 정의될 수 있다.
본 발명의 다양한 실시예에 따르면, 5세대 이동 통신을 지원하는 코어 네트워크(420)는 4세대 이동 통신을 지원하는 코어 네트워크에 비해 다양한 기능(예: 에지 컴퓨팅)을 지원할 수 있다. 에지 컴퓨팅은 빠른 통신 속도 또는 낮은 지연 시간을 구현하기 위해서, 전자 장치(400)와 물리적으로 가까운 위치(예: 기지국(410)과 물리적으로 가까운 위치, 또는 기지국(410) 내부)에 구현된 에지 네트워크 시스템(500)을 통한 다양한 서비스를 수행하는 기술을 의미할 수 있다. 에지 네트워크 시스템(500)은 서버(430)과 비교할 때, 전자 장치(400)와 물리적으로 가까운 위치에 구현될 수 있어, 에지 네트워크 시스템(500)을 통한 데이터 통신은 코어 네트워크(420)를 통한 데이터 통신에 비해 높은 통신 속도 및/또는 낮은 지연 시간을 구현할 수 있다. 예를 들어, 에지 네트워크 시스템(500)은 코어 네트워크(420)와 직접 연결되거나 물리적으로 가까운 위치 또는 코어 네트워크(420) 내부에 위치할 수 있다.
본 발명의 다양한 실시예에 따르면, 제 1 서버(510)는 전자 장치(400)가 연결 가능한 적어도 하나 이상의 제 2 서버(520)에 대한 정보를 제공하는 서버일 수 있다. 예를 들어, 제 2 서버(520)에 대한 정보는 제 2 서버(520)의 접속 정보(예: 제 2 서버(520)의 IP 주소, 제 2 서버(520)의 도메인 주소 및/또는 제 2 서버(520)의 URI(uniform resource identifier)를 포함하는 제 2 서버(520)의 접속 주소 정보, 제 2 서버(520)의 식별 정보)를 포함할 수 있다. 제 1 서버(510)는 TS 23.558에서 정의된 에지 데이터 네트워크 구성 서버(edge data network configuration server, ECS)와 동일하거나, 유사한 구성 요소일 수 있다.
본 발명의 다양한 실시예에 따르면, 제 2 서버(520)는 제 3 서버(530)와 연결되고, 제 3 서버(530)의 다양한 동작을 관리하는 서버일 수 있다. 제 2 서버(520)는 제 3 서버(530)의 성능 정보(예: 제 3 서버(530)의 가용 자원(예: 메모리 용량 또는 대역폭)를 제 3 서버(530)로부터 수신할 수 있다. 제 2 서버(520)는 전자 장치(400)의 요청에 대응하여, 제 2 서버(520)와 연결된 적어도 하나 이상의 제 3 서버(530)의 정보를 전송할 수 있다. 제 2 서버(520)는 TS 23.558에서 정의된 에지 인에이블러 서버(edge enabler server, EES)와 동일하거나, 유사한 구성 요소일 수 있다.
본 발명의 다양한 실시예에 따르면, 제 3 서버(530)는 전자 장치(400) 상에 설치된 어플리케이션(501)이 사용 가능한 에지 컴퓨팅 서비스를 제공하는 서버일 수 있다. 제 3 서버(530)는 어플리케이션(501)으로 에지 컴퓨팅 서비스와 관련된 어플리케이션 데이터를 제공할 수 있다. 제 3 서버(530)는 TS 23.558에서 정의된 에지 어플리케이션 서버(edge application server, EAS)와 동일하거나, 유사한 구성 요소일 수 있다. 도 5에서는 제 3 서버(530)가 한 개가 도시되어 있으나, 제 3 서버(530)는 제공하는 서비스에 따라 복수 개로 배치될 수 있다. 이동 통신망 내부에 적어도 하나 이상의 제 3 서버(530)가 여러 위치에 배치되어(deployed) 인접한 위치의 사용자 단말(UE)에 에지 서비스를 제공할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(400)는 에지 네트워크 시스템(500)의 연결을 위해, 제 1 서버(510)의 접속을 요청하는 신호를 코어 네트워크(420)로 전송할 수 있다. 코어 네트워크(420)는 다양한 절차(예: 전자 장치(400)의 인증 동작)을 통해 제 1 서버(510)의 접속 정보를 전자 장치(400)로 전송할 수 있다.
본 발명의 다양한 실시예에서, 설명의 편의를 위해 에지 네트워크 시스템(500)에 포함된 제 1 서버(510), 제 2 서버(520) 및 제 3 서버(530)가 모두 기지국(410)의 근처(또는, 전자 장치(400)의 근처)에 배치되는 것으로 도시했으나, 이에 한정하는 것은 아니며 다양한 배치가 가능할 수 있다. 예를 들면, 제 1 서버(510) 및 제 2 서버(520)는 코어 네트워크(예: 도 4의 코어 네트워크(420))에 연결되어 또는 인접하여 배치되고, 제 3 서버(530)는 전자 장치(400) 에 가까운 위치에(예를 들어, 기지국(410)에 연결되어 또는 인접하여) 배치될 수 있다. 다른 예를 들면, 제 1 서버(510) 및 제 2 서버(520)는 셀룰러 통신 사업자가 운영하는 이동 통신망(예를 들면, 기지국(410) 및 코어 네트워크(420)를 포함하는 망)의 외부(예: 인터넷 망)에 배치되고, 제 3 서버(530)는 전자 장치(400)에 가까운 위치에 배치될 수 있다. 또는, 제 1 서버 (510) 및 제 2 서버(520)는 통합된 하나의 엔티티로 구현될 수도 있다. 다양한 실시예에 따른 에지 네트워크 시스템(500)은 외부 서버(430)보다 전자 장치(400) 가까이에 배치되어 에지 서비스를 제공할 수 있는 적어도 하나의 제 3 서버(530)를 포함한다면, 에지 네트워크 시스템(500)에 포함된 구성 요소는 다양한 배치 형태를 가질 수 있음을 당업자는 용이하게 이해할 것이다.
전자 장치(400)와 에지 네트워크 시스템(500) 사이의 연결 동작의 다양한 실시예에 대해서는 도 5에서 후술한다.
도 5는 본 발명의 다양한 실시예에 따른 전자 장치 및 에지 네트워크 시스템을 도시한 도면이다.
본 발명의 다양한 실시예에 따르면, 에지 네트워크 시스템(500)은 제 1 서버(510), 제 2 서버(520) 및/또는 제 3 서버(530)를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 제 3 서버(530)는 전자 장치(400) 상에 설치된어플리케이션(501)이 사용 가능한 에지 컴퓨팅 서비스를 제공하는 서버일 수 있다. 제 3 서버(530)는 어플리케이션(501)으로 에지 컴퓨팅 서비스와 관련된 어플리케이션 데이터를 제공할 수 있다. 제 3 서버(530)는 TS 23.558에서 정의된 에지 어플리케이션 서버(edge application server, EAS)와 동일하거나, 유사한 구성 요소일 수 있다.
본 발명의 다양한 실시예에 따르면, 제 2 서버(520)는 제 3 서버(530)와 연결되고, 제 3 서버(530)의 다양한 동작을 관리하는 서버일 수 있다. 제 2 서버(520)는 제 3 서버(530)의 성능 정보(예: 제 3 서버(530)의 가용 자원(예: 메모리 용량 또는 대역폭)를 제 3 서버(530)로부터 수신할 수 있다. 제 2 서버(520)는 전자 장치(400)의 요청에 대응하여, 제 2 서버(520)와 연결된 적어도 하나 이상의 제 3 서버(530)의 정보를 전송할 수 있다. 제 2 서버(520)는 TS 23.558에서 정의된 에지 인에이블러 서버(edge enabler server, EES)와 동일하거나, 유사한 구성 요소일 수 있다.
본 발명의 다양한 실시예에 따르면, 제 1 서버(510)는 전자 장치(400)가 연결 가능한 적어도 하나 이상의 제 2 서버(520)에 대한 정보를 제공하는 서버일 수 있다. 예를 들어, 제 2 서버(520)에 대한 정보는 제 2 서버(520)의 접속 정보(예: 제 2 서버(520)의 IP 주소, 제 2 서버(520)의 도메인 주소 및/또는 제 2 서버(520)의 URI(uniform resource identifier)를 포함하는 제 2 서버(520)의 접속 주소 정보 및 제 2 서버(520)의 식별 정보)를 포함할 수 있다. 제 1 서버(510)는 TS 23.558에서 정의된 에지 데이터 네트워크 구성 서버(edge data network configuration server, ECS)와 동일하거나, 유사한 구성 요소일 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(400)는 프로세서(예: 도 1의 프로세서(120))(501) 및 메모리(예: 도 1의 메모리(130))를 포함할 수 있다. 메모리(130)는 프로세서(130) 상에서 실행 가능한 다양한 프로그램 모듈들을 저장할 수 있다. 메모리(130)는 에지 네트워크를 이용한 서비스를 수행할 수 있는 어플리케이션(예: 도 1의 어플리케이션(146)) (505) 및 에지 컴퓨팅을 지원하기 위한 다양한 구성 요소들(예: 에지 인에이블러 클라이언트(edge enabler client, EEC)(503))를 저장할 수 있다. 프로세서(501)는 메모리(130)에 저장된 다양한 프로그램 모듈(예: EEC(503), 어플리케이션(505))을 로딩하고, 실행(또는, 동작)할 수 있다. EEC(503)는 어플리케이션 계층(예: 도 1의 어플리케이션(146)), 미들웨어(예: 도 1의 미들 웨어(144)) 및/또는 운영 체제(예: 도 1의 운영 체제(142)) 상에 구현될 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 전자 장치(400) 상에 실행(또는, 동작) 중인 다양한 어플리케이션들 중 에지 컴퓨팅 서비스를 이용할 수 있는 어플리케이션(505)을 식별하고, 상기 어플리케이션(505)이 제 3 서버(530)로 어플리케이션(505)의 데이터를 전송 또는 수신할 수 있도록 설정하는 다양한 동작을 수행할 수 있다.
EEC(503)는 어플리케이션(505)이 에지 네트워크 시스템(500)을 통해 어플리케이션 데이터를 교환할 수 있도록 하는 에지 네트워크 시스템(500)의 구성 요소의 접속 정보를 에지 네트워크 시스템(500)으로부터 수신하고, 접속 정보에 기반하여 에지 네트워크 시스템(500)과 전자 장치(400) 사이의 연결을 제어할 수 있다. 이하에서는, EEC(503)와 제 3 서버(530) 사이의 연결을 위한 구체적인 실시예에 대해서 서술한다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 코어 네트워크(예: 도 4의 코어 네트워크(420))로부터 수신한 제 1 서버(510)의 접속 정보에 기반하여 제 1 서버(510)와 연결하는 동작을 수행할 수 있다. 다른 실시예에서, EEC(503)는 전자 장치(예: 메모리(130) 및/또는 심카드(SIM card)(예: 도 1의 가입자 식별 모듈(196)) 상에 저장된 제 1 서버(510)의 접속 정보에 기반하여 제 1 서버(510)와 연결하는 동작을 수행할 수도 있다. EEC(503)는 전자 장치(400)의 식별 정보(예: 전자 장치(501)의 IMSI(international mobile subscriber identify) 및/또는 GPSI(Generic Public Subscription Identifier))를 제 1 서버(510)로 전송하고, 제 1 서버(510)는 전자 장치(400)의 식별 정보에 기반하여 전자 장치(400)의 인증을 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 제 1 서버(510)와 연결이 완료된 후, 에지 서비스를 위한 프로비저닝 절차를 수행할 수 있다. 프로비저닝 절차는 제 2 서버(520)의 접속 정보를 요청하는 신호를 제 1 서버(510)로 전송하는 동작을 포함할 수 있다. 제 1 서버(510)는 제 2 서버(520)의 접속 정보(예: 제 2 서버(520)의 식별 정보, 제 2 서버(520)의 URI 정보, 제 2 서버(520)의 도메인 정보, 제 2 서버(520)의 IP 주소 정보, 에지 네트워크 시스템(500)의 전용 PDN(publice data network) 또는 PDU(packet data unit) 세션이 존재하는 경우, 전용 PDN 또는 PDU에 대응하는 APN(access point name) 정보 및/또는 DNN(data network name) 정보 중 적어도 하나 및/또는 제 2 서버(520)의 유효한 연결을 위한 검증에 이용되는 정보(예: 토큰))를 전자 장치(400)로 전송할 수 있다.
본 발명의 다양한 실시예에 따르면, 제 2 서버(520)의 접속 정보는 TS 23.558에서 정의된 EES 리스트와 동일하거나 유사할 수 있다. 예를 들어, 제 2 서버(520)의 접속 정보는 아래의 표 1과 같이 구현되어, EEC(503)로 전송될 수 있다. 제 2 서버(520)의 접속 정보는 제 2 서버(520)의 식별 정보 및/또는 제 2 서버(520)의 접속 주소 정보(예: 제 2 서버(520)의 URI 정보, 제 2 서버(520)의 도메인 정보, 제 2 서버(520)의 IP 주소 정보, 에지 네트워크 시스템(500)의 전용 PDN(publice data network) 또는 PDU(packet data unit) 세션이 존재하는 경우, 전용 PDN 또는 PDU에 대응하는 APN(access point name) 정보 및/또는 DNN(data network name) 정보)를 포함할 수 있다.
EES 식별 정보 접속 주소 정보
EES 1 ees1.edge1.com
EES 2 ees2. edge2.com
본 발명의 다양한 실시예에 따르면, EEC(503)는 제 1 서버(510)로부터 수신한 제 2 서버(520)의 접속 정보(예: EES 식별 정보, 접속 주소 정보)에 기반하여 제 2 서버(520)에 접속을 시도할 수 있다. 제 2 서버(520)는 EEC(503)가 전송한 제 2 서버(520)의 접속 정보(예: 토큰)에 기반하여 전자 장치(400)가 제 2 서버(520)의 접근 권한을 가진 전자 장치인지 여부를 확인하고, 확인 결과에 기반하여 전자 장치(400)의 접속(또는, 연결) 허가 여부를 결정할 수 있다. 예를 들어, 제 2 서버(520)는 토큰을 수신하고, 인증 서버(미도시)와 수신한 토큰을 통한 인증 동작을 통해, 전자 장치(400)의 제 2 서버(520)에 대한 접속(또는, 연결) 허가 여부를 결정할 수도 있다. 이 경우, 토큰은 인증 서버(미도시)에서 전자 장치(400)로 전송된 정보일 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 어플리케이션(505)에게 에지 컴퓨팅 서비스를 제공할 수 있는 제 3 서버(530)에 대한 정보를 획득하기 위한 에지 서비스 탐색 절차(edge service discovery, 예를 들어, 에지 서버(들)에서 실행될 수 있는 서비스 정보를 탐색하는 절차)를 수행할 수 있다. EEC(503)는 제 2 서버(520)와 연결된 적어도 하나 이상의 제 3 서버(530)의 접속 정보를 요청하는 에지 서비스 탐색 요청 메시지를 제 2 서버(520)로 전송할 수 있다. 제 2 서버(520)는 제 2 서버(520)가 저장하고 있는 제 3 서버(530)의 접속 정보를 포함하는 에지 서비스 탐색 응답 메시지를 EEC(503)로 전송할 수 있다.
제 3 서버(530)의 접속 정보는 제 3 서버(530)의 식별자, 제 3 서버(530)의 접속 주소(예: 제 3 서버(530)의 IP 주소, 제 3 서버(530)의 도메인 주소) 및/또는 제 3 서버(530)가 제공 가능한 서비스 식별자를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 제 3 서버(530)는 서비스 단위로 구현되는 소프트웨어적인 엔티티일 수 있다. 예를 들면, 복수의 제 3 서버(530)들은 하나의 물리적인 서버 상에서 구현되는 엔티티로써, 서로 다른 서비스를 제공하는 서버일 수 있다. 이 경우, 제 3 서버(530)의 접속 정보는 제 3 서버(530)에서 실행될 수 있는 어플리케이션들의 접속 정보 및/또는 전자 장치(400) 상에 설치되고, 제 3 서버(530)를 이용한 서비스를 수행할 수 있는 어플리케이션들의 식별 정보를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 제 3 서버(530)의 접속 정보는 TS 23.558에서 정의된 EAS 리스트와 동일하거나 유사할 수 있다. 제 3 서버(530)의 정보는 아래의 표 2과 같이 구현되어, EEC(503)로 전송될 수 있다.
EAS 식별 정보 어플리케이션 식별 정보(ACID) 접속 주소 정보
EAS1 com.android.app1 ees1.edge1.com
EAS2 com.android.app2 2.2.2.2
EAS3 com.android.app3 ees3.edge3.com/3.3.3.3
표 2에 포함된 제 2 서버(530)의 접속 정보 는 제 3 서버(530)에서 실행될 수 있는 서비스 어플리케이션들의 접속 정보(EAS 식별 정보) 및/또는 전자 장치(400) 상에서 실행되는 어플리케이션의 식별 정보(ACID)를 포함할 수 있다. 예를 들어, 표 2의 각 행(예: EAS1, EAS2, EAS3 등)은 제 3 서버(530)에서 실행될 수 있는 제1 서버 어플리케이션과 제2 서버 어플리케이션에 대한 식별 정보 및 접속 주소를 지칭할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 어플리케이션(505)의 제 3 서버(530)를 이용한 서비스 연결 요청의 수신에 대응하여, 어플리케이션(505)이 이용할 수 있는 서비스를 제공할 수 있는 제 3 서버(530)를 제 3 서버(530)의 접속 정보에서 검색할 수 있다. EEC(503)는 제 3 서버(530)의 식별 정보에 포함된 어플리케이션 식별 정보들(예: com.android.app1, com.android.app2) 중 어플리케이션(505)이 이용할 어플리케이션 식별 정보(예: com.android.app1)와 일치하는 어플리케이션 식별 정보(예: com.android.app1)를 확인하고, 확인된 어플리케이션 식별 정보(예: com.android.app1)에 대응하는 제 3 서버(530)의 도메인 주소(예: app1.edge.com) 또는 IP 주소(예: 3.3.3.1)를 어플리케이션(505)으로 전송할 수 있다. 어플리케이션(505)은 수신한 제 3 서버(530)의 도메인 주소 또는 IP 주소에 기반하여 제 3 서버(530)와 연결을 수행하고, 제 3 서버(530)를 이용한 서비스를 수행할 수 있다.
도 5에서는, 프로세서(501) 및/또는 어플리케이션(505)이 에지 네트워크 시스템(500)과 직접 연결되어 있는 것으로 도시되어 있으나, 프로세서(501) 및/또는 어플리케이션(505)은 전자 장치(101)의 통신을 위한 구성 요소들(예: 도 1의 무선 통신 모듈(192))을 이용하여 에지 네트워크 시스템(500)과 데이터를 교환할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 제 3 서버의 접속 정보에 포함된 어플리케이션 식별 정보를 확인하고, 제 3 서버(530)를 이용한 서비스 연결 요청을 전송한 어플리케이션의 식별 정보와 일치하는 어플리케이션 식별 정보에 대응하는 제 3 서버(530)의 접속 정보에 기반하여 제 3 서버(530)에 대한 접속을 수행할 수 있다. 다만, 본 발명의 실시예와의 비교를 위한 비교 예에 따르면, 어플리케이션(505)가 악의의 제 3 자가 생성한 어플리케이션으로써, 어플리케이션과 동일한 이름을 갖는 어플리케이션인 상황인 경우, EEC(503)는 유효하지 않은 어플리케이션이 제 3 서버(530)를 이용한 서비스를 수행하는 것을 방지하지 못할 수 있다.
이하 도 6 내지 도 10에서는, 유효하지 않은 어플리케이션이 제 3 서버(530)를 이용한 서비스를 수행하는 현상을 방지하는 구체적인 실시예들에 대해서 서술한다.
도 6은 본 발명의 다양한 실시예에 따른 전자 장치가, 어플리케이션의 유효성 검증에 기반하여 제 3 서버를 이용한 서비스를 수행하는 실시예를 도시한 도면이다.
본 발명의 다양한 실시예에 따른 전자 장치(400)는 적어도 하나 이상의 어플리케이션(예: 도 3의 어플리케이션(146))(601, 603, 605), 어플리케이션(601, 603, 605)과 관련된 데이터를 저장할 수 있는 메모리(예: 도 1의 메모리(130))(607), 프로세서(예: 도 1의 프로세서(120))(501) 및/또는 통신 회로(611)를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 메모리(130)는 프로세서(130) 상에서 실행 가능한 다양한 프로그램 모듈들을 저장할 수 있다. 메모리(130)는 에지 네트워크를 이용한 서비스를 수행할 수 있는 어플리케이션(예: 도 5의 어플리케이션(505))(601, 603, 605) 및 에지 컴퓨팅을 지원하기 위한 다양한 구성 요소들(예: 에지 인에이블러 클라이언트(edge enabler client, EEC)(503))를 저장할 수 있다. 프로세서(501)는 메모리(130)에 저장된 다양한 프로그램 모듈(예: EEC(503), 어플리케이션(601, 603, 605))을 리드(read)하여, 실행(또는, 동작)할 수 있다. EEC(503)는 어플리케이션 계층(예: 도 1의 어플리케이션(146)), 미들웨어(예: 도 1의 미들 웨어(144)) 및/또는 운영 체제(예: 도 1의 운영 체제(142)) 상에 구현될 수 있다.
본 발명의 다양한 실시예에 따르면, 적어도 하나 이상의 어플리케이션(601, 603, 605)은 전자 장치(400) 상에 설치 및 실행 가능한 프로그램일 수 있다. 설명의 편의를 위해, 적어도 하나 이상의 어플리케이션(601, 603, 605) 중 제 1 어플리케이션(601) 및 제 2 어플리케이션(603)은 제 3 서버(530)를 이용한 서비스를 수행하는 것이 허용된 어플리케이션이고, 제 3 어플리케이션(605)은 제 3 서버(530)를 이용한 서비스를 수행하는 것이 허용되지 않은 어플리케이션임을 가정한다. 제 1 어플리케이션(601)은 제 3 서버(530)에서 실행될 수 있는 어플리케이션(531)이 제공하는 하나 이상의 기능들을 전자 장치(400) 상에서 실행할 수 있다. 제 2 어플리케이션(603)은 제 3 서버(530)에서 실행될 수 있는 어플리케이션(533)이 제공하는 하나 이상의 기능(또는, 서비스)들을 전자 장치(400)에서 실행할 수 있다. 제 3 어플리케이션(605)은 외부 서버(430)에서 실행될 수 있는 어플리케이션(431)이 제공하는 하나 이상의 기능들을 전자 장치(400) 상에서 실행할 수 있다. 전자 장치(400)에서 실행되는 어플리케이션(601, 603, 605)은 서비스 클라이언트 어플리케이션이고, 서버(예: 제 3 서버(530) 또는 외부 서버(431))에서 실행되는 어플리케이션(531,533,431)은 서비스 서버 어플리케이션일 수 있다. 예를 들어, 제 1 어플리케이션(531)은 표 2의 EAS1 에 대응하는 제 1 서버 어플리케이션이고, 제 2 어플리케이션(533)은 표 2의 EAS2 에 대응하는 제 2 서버 어플리케이션일 수 있다. 도 6에서는 제 1 어플리케이션(531) 및 제 2 어플리케이션(533)이 동일한 서버(예: 제 3 서버(530))에서 구현되는 것으로 도시하였으나, 제 1 어플리케이션(531) 및 제 2 어플리케이션(533)가 동작하는 제 3 서버는 물리적 및/또는 위치적으로 서로 다른 물리적 서버에서 구현될 수도 있다.본 발명의 다양한 실시예에 따르면, 메모리(607)는 어플리케이션(601, 603, 605)과 관련된 데이터를 저장할 수 있다. 어플리케이션(601, 603, 605)과 관련된 데이터는 어플리케이션(601, 603, 605)의 설치에 이용되는 설치 데이터, 어플리케이션(601, 603, 605)의 설치 데이터의 바이너리 데이터의 적어도 일부를 지정된 알고리즘(예: SHA(secure hast algorithm)1, SHA256,MD(message-digest algorithm)5)에 의해 구현된 함수에 입력하는 방식으로 생성된 제 1 해시 데이터, 제 1 해시 데이터를 다양한 방식(예: 대칭 키 방식 암호화, 공개 키 암호 방식 암호화)에 의해 암호화한 데이터인 제 1 서명 데이터, 제 1 해시 데이터를 생성하는데 이용한 알고리즘을 지시하는 정보, 또는 암호화된 데이터를 복호화하는데 이용하는 복호화 키 중 적어도 하나 이상을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 제 1 해시 데이터는 어플리케이션마다 서로 다른 값을 가질 수 있다. 제 1 서명 데이터는 제 1 해시 데이터를 암호화하여 생성될 수 있으므로, 어플리케이션마다 서로 다른 값을 가질 수 있다. 제 1 해시 데이터는 설치 데이터의 바이너리 데이터를 다양한 방식으로 구현된 해시 함수에 입력함으로써 생성된 데이터일 수 있으나, 해시 알고리즘이 아닌, 어플리케이션과 관련된 데이터를 복구할 수 없도록 구현된 지정된 알고리즘을 이용하여 생성된 데이터일 수 있다.
본 발명의 다양한 실시예에 따르면, 통신 회로(611)는 어플리케이션(601, 603, 605)가 전송하는 데이터를 에지 네트워크 시스템(500) 또는 외부 서버(예: 도 4의 외부 서버(430))에 셀룰러 통신을 통해 전송(또는, 수신)할 수 있다. 통신 회로(611)는 제 3 서버(530)로 데이터를 전송하거나, 수신하는 제 1 채널 및/또는 외부 서버(430)로 데이터를 전송하거나, 수신하는 제 2 채널을 포함하는 복수의 채널들을 생성 및 관리할 수 있다. 통신 회로(611)는 EEC(503)의 제어에 기반하여 제 1 채널 및 제 2 채널 중 어느 하나의 채널을 이용하여 EEC(503)이 전송하는 데이터를 전송하거나, 제 3 서버(530) 또는 외부 서버(430)로부터 데이터를 수신할 수 있다. 제 1 채널은 유효성이 검증된 어플리케이션(예: 제 1 어플리케이션(601) 및/또는 제 2 어플리케이션(603))과 제 3 서버(530) 사이의 전용 네트워크 채널을 의미할 수 있다. 제 2 채널은 유효성이 검증이 실패한 어플리케이션(예: 제 3 어플리케이션(605))과 외부 서버(430) 사이의 네트워크 채널을 의미할 수 있다. 예를 들면, 통신 회로(611)는, 프로세서(501) 의 제어에 기반하여, 제 1 어플리케이션(601) 및/또는 제 2 어플리케이션(603)이 전송하는 에지 데이터(613)를 제 1 채널을 통해 제 3 서버(530)로 전송할 수 있다. 다른 예를 들면, 통신 회로(611)는, 프로세서(501) 의 제어에 기반하여, 제 3 어플리케이션(605)이 전송하는 에지 데이터(613)를 제 2 채널을 통해 외부 서버(430)으로 전송할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 전자 장치(400) 상에 설치된 다양한 어플리케이션들 중 에지 컴퓨팅 서비스를 이용할 수 있는 어플리케이션(601, 603)을 식별하고, 제 3 서버(530)로 어플리케이션(601, 603)의 데이터(예: 제 1 어플리케이션(531) 또는 제 2 어플리케이션(533)의 IP 데이터 패킷)를 전송 또는 제 3 서버(530)가 전송한 데이터(예: 제 3 서버(530) 상에서 실행 중인 어플리케이션(531, 533)의 IP 데이터 패킷)를 어플리케이션(505)으로 전송할 수 있도록 하는 다양한 동작을 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 제 1 서버(510)로부터 수신한 제 2 서버(520)의 접속 정보에 기반하여 제 2 서버(520)에 접속을 시도할 수 있다. 제 2 서버(520)는 EEC(503)가 전송한 제 2 서버(520)의 접속 정보에 기반하여 전자 장치(400)가 제 2 서버(520)의 접근 권한을 가진 전자 장치인지 여부를 확인하고, 확인 결과에 기반하여 전자 장치(400)의 연결 허가 여부를 결정할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 어플리케이션(601, 603)에게 에지 컴퓨팅 서비스를 제공할 수 있는 제 3 서버(530)에 대한 정보를 획득하기 위한 에지 서비스 탐색 절차를 수행할 수 있다. EEC(503)는 제 2 서버(520)와 연결된 적어도 하나 이상의 제 3 서버(530)의 접속정보를 요청하는 에지 서비스 탐색 요청 메시지를 제 2 서버(520)로 전송할 수 있다. 제 3 서버(530)의 접속 정보는 어플리케이션(601, 603)이 이용 가능한 서비스를 제공하는 어플리케이션(531, 533)의 접속 정보를 포함할 수 있다. 제 2 서버(520)는 제 2 서버(520)가 저장하고 있는 제 3 서버(530)의 접속 정보를 포함하는 에지 서비스 탐색 응답 메시지를 EEC(503)로 전송할 수 있다. 제 3 서버(530)의 접속 정보는 제 3 서버(530)의 식별자, 제 3 서버(530) 상에 설치된 어플리케이션(531, 533)에 접속하기 위한 정보를 포함할 수 있다. 제 3 서버(530) 상에 설치된 어플리케이션(531, 533)에 접속하기 위한 정보는 어플리케이션(531, 533)을 이용한 서비스의 접속을 위한 주소 정보(예:URI 정보, IP 주소 및/또는 도메인 주소) 또는 서비스 식별자(EAS ID) 를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 제 3 서버(530)의 접속 정보는 어플리케이션의 유효성 검증을 위한 데이터를 포함할 수 있다. 어플리케이션(601, 603, 605)의 유효성의 검증은 제 3 서버(530)를 이용한 서비스 수행이 허용된 어플리케이션인지 여부를 확인하는 동작을 의미할 수 있다.
본 발명의 다양한 실시예에 따르면, 어플리케이션의 유효성 검증을 위한 데이터는 어플리케이션(601, 603, 605)의 유효성 검증에 이용될 수 있는 데이터를 의미할 수 있다. 어플리케이션의 유효성 검증을 위한 데이터는 어플리케이션(601, 603, 605)의 설치 데이터의 바이너리 데이터를 지정된 알고리즘(예: SHA1, SHA256,MD5)에 의해 구현된 함수에 입력하는 방식으로 생성된 제 2 해시 데이터, 제 2 해시 데이터를 다양한 방식(예: 대칭 키 방식 암호화, 공개 키 암호 방식 암호화)에 의해 암호화한 데이터인 제 2 서명 데이터 또는 암호화된 데이터를 복호화하는데 이용하는 복호화 키, 어플리케이션(601, 603, 605)의 인증서(certificate) 및 인증서의 해시 데이터 중 적어도 하나 이상을 포함할 수 있다. 인증서는 어플리케이션(601, 603, 605)의 제 3 의 인증 기관을 통해 발급되어, 어플리케이션(601, 603, 605)의 유효성이 존재함을 지시하는 데이터를 의미할 수 있다.
본 발명의 다양한 실시예에 따르면, 제 3 서버(530)의 접속 정보는 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터를 포함하도록, 아래의 표 3과 같이 구현되어, EEC(503)로 전송될 수 있다.
EAS 식별 정보 어플리케이션 식별 정보 어플리케이션의 유효성 검증을 위한 데이터 접속 주소 정보
EAS1 com.android.app1 signature 1 app1.edge.com/3.3.3.1
EAS2 com.android.app2 signature 2 app2.edge.com/Eas2.edge.com
본 발명의 다른 실시예에 따르면, EEC(503)는 제 3 서버(530) 상에 설치된 특정 어플리케이션(531, 533)을 지시하는 정보(EAS) 및/또는 전자 장치(400) 상에 설치된 특정 어플리케이션(601, 603)을 지시하는 정보(ACID)를 포함하는 에지 서비스 탐색 요청 메시지를 제 2 서버(530)로 전송할 수 있다.
제 2 서버(530)는 에지 서비스 탐색 요청 메시지에 제 3 서버(530) 상에 설치된 특정 어플리케이션(531, 533)을 지시하는 정보를 포함함을 확인함에 대응하여, EAS 식별 정보 필드에 어플리케이션의 유효성 검증을 위한 데이터를 입력한 제 3 서버(530)의 접속 정보를 포함하는 에지 서비스 탐색 응답 메시지를 전송할 수 있다. 제 3 서버(530)의 접속 정보는 아래의 표 4와 같이 구현될 수 있다. 표 4와 같이 구현된 제 3 서버(530)의 접속 정보는 EAS 식별 정보가 입력되는 필드에 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터를 포함할 수 있으며, 표 3에 도시된 제 3 서버(530)의 접속 정보보다 작은 데이터 크기를 가질 수 있다. EEC(503)는 제 3 서버(530)의 접속 정보를 포함하는 에지 서비스 탐색 응답 메시지를 제 2 서버(520)로부터 수신하고, 제 3 서버(530)의 접속 정보에 포함된 EAS 식별 정보가 에지 서비스 탐색 요청 메시지에 포함된 EAS 식별 정보와 다름을 확인함에 대응하여, 제 3 서버(530)의 접속 정보의 EAS 식별 정보 필드에 존재하는 데이터를 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터로 이용할 수 있다.
EAS 식별 정보 어플리케이션 식별 정보 접속 주소 정보
signature 1 com.android.app1 app1.edge.com/3.3.3.1
signature 2 com.android.app2 app2.edge.com/Eas2.edge.com
본 발명의 또 다른 실시예에 따르면, EEC(503)는 제 3 서버(530) 상에 설치된 특정 어플리케이션(531, 533)을 지시하는 정보(EAS)를 포함하는 에지 서비스 탐색 요청 메시지를 제 3 서버(530)로 전송할 수 있다. 제 3 서버(530)는 에지 서비스 탐색 요청 메시지에 제 3 서버(530) 상에 설치된 특정 어플리케이션(531, 533)을 지시하는 정보를 포함함을 확인함에 대응하여, 어플리케이션 식별 필드에 어플리케이션의 유효성 검증을 위한 데이터를 입력한 제 3 서버(530)의 접속 정보를 포함하는 에지 서비스 탐색 응답 메시지를 전송할 수 있다. 제 3 서버(530)의 접속 정보는 아래의 표 5와 같이 구현될 수 있다. 표 5와 같이 구현된 제 3 서버(530)의 접속 정보는 어플리케이션 식별 정보가 입력되는 필드에 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터를 포함할 수 있으며, 표 3에 도시된 제 3 서버(530)의 접속 정보보다 작은 데이터 크기를 가질 수 있다. EEC(503)는 제 3 서버(530)의 접속 정보를 포함하는 에지 서비스 탐색 응답 메시지를 수신하고, 제 3 서버(530)의 접속 정보에 포함된 어플리케이션 식별 정보가 에지 서비스 탐색 요청 메시지에 포함된 어플리케이션 식별 정보와 다름을 확인함에 대응하여, 제 3 서버(530)의 접속 정보의 어플리케이션 식별 정보에 존재하는 데이터를 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터로 이용할 수 있다.
EAS 식별 정보 어플리케이션 식별 정보 접속 주소 정보
EAS1 Signature1 app1.edge.com/3.3.3.1
본 발명의 다양한 실시예에 따르면, 제 2 서버(520)는 제 3 서버(530)의 접속 정보에 포함된 다양한 필드(예: EAS 식별 정보, 어플리케이션 식별 정보 또는 접속 주소 정보)에 포함된 데이터와 어플리케이션의 유효성 검증을 위한 데이터를 조합하여 제 3 서버(530)의 접속 정보를 생성할 수도 있다. 예를 들면, 제 2 서버(520)는 EAS 식별 정보 필드에 포함된 데이터와 어플리케이션의 유효성 검증을 위한 데이터를 조합하여 제 3 서버(530)의 접속 정보를 생성하고, 제 3 서버(530)의 접속 정보를 포함하는 에지 서비스 탐색 응답 메시지를 EEC(503)로 전송할 수 있다. EEC(503)는 에지 서비스 탐색 응답 메시지에 포함된 어플리케이션의 유효성 검증을 위한 데이터를 추출할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 제 3 서버(530)의 접속 정보에 포함된 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 기반하여 서비스 수행을 요청한 어플리케이션(601, 603, 605)의 유효성을 검증할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 메모리(607)에 저장된 어플리케이션과 관련된 데이터에 포함된 제 1 서명 데이터와 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 제 2 서명 데이터가 일치하는지 여부를 확인할 수 있다. 전자 장치(400)에 설치된 어플리케이션(601, 603, 605)이 유효한 어플리케이션(601, 603)인 경우, 제 1 서명 데이터와 제 2 서명 데이터가 일치할 수 있다. 전자 장치(400)에 설치된 어플리케이션(605)이 유효하지 않은 어플리케이션인 경우(예: 제 3 어플리케이션(605)이 제 1 어플리케이션(601)과 이름만 동일한 어플리케이션인 경우, 제 3 어플리케이션(605)는 유효하지 않은 어플리케이션일 수 있다), 제 1 서명 데이터와 제 2 서명 데이터가 일치하지 않을 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 제 1 서명 데이터와 제 2 서명 데이터가 일치함을 확인함에 대응하여, 서비스 수행을 요청한 어플리케이션(601, 603)이 유효한 어플리케이션임을 확인할 수 있다. EEC(503)는 제 1 서명 데이터와 제 2 서명 데이터가 일치하지 않음을 확인함에 대응하여, 서비스 수행을 요청한 어플리케이션(605)이 유효하지 않은 어플리케이션임을 확인할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 메모리(607)에 저장된 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 제 2 해시 데이터가 일치하는지 여부를 확인할 수 있다. 전자 장치(400)에 설치된 어플리케이션(601, 603, 605)이 유효한 어플리케이션(601, 603)인 경우, 제 1 해시 데이터와 제 2 해시 데이터가 일치할 수 있다. 전자 장치(400)에 설치된 어플리케이션(605)이 유효하지 않은 어플리케이션인 경우(예: 제 3 어플리케이션(605)이 제 1 어플리케이션(601)과 이름만 동일한 어플리케이션인 경우, 제 3 어플리케이션(605)는 유효하지 않은 어플리케이션일 수 있다), 제 1 해시 데이터와 제 2 해시 데이터가 일치하지 않을 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 제 2 서명 데이터 및 복호화 키를 이용하여 제 2 해시 데이터를 생성할 수 있다. EEC(503)는 메모리(607)에 저장된 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 제 2 해시 데이터가 서로 일치하는지 여부를 확인할 수도 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 제 1 서버(510)로부터 제 2 서명 데이터를 복호화하기 위한 복호화 키를 제 1 서버(510)로부터 수신할 수도 있다. EEC(503)는 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 제 2 서명 데이터 및 제 1 서버(510)로부터 수신한 복호화 키를 이용하여 제 2 해시 데이터를 생성할 수 있다. EEC(503)는 메모리(607)에 저장된 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 제 2 해시 데이터가 서로 일치하는지 여부를 확인할 수도 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 복호화 키를 이용하여 어플리케이션(601, 603, 605)와 관련된 데이터에 포함된 제 1 서명 데이터를 복호화할 수 있다. EEC(503)는 제 1 서명 데이터의 복호화 값과 제 1 해시 데이터가 일치하는지 여부를 확인할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 제 1 해시 데이터와 제 2 해시 데이터가 일치함을 확인함에 대응하여, 서비스 수행을 요청한 어플리케이션(601, 603)이 유효한 어플리케이션임을 확인할 수 있다. EEC(503)는 제 1 해시 데이터와 제 2 해시 데이터가 일치하지 않음을 확인함에 대응하여, 서비스 수행을 요청한 어플리케이션(605)이 유효하지 않은 어플리케이션임을 확인할 수 있다.본 발명의 다양한 실시예에 따르면, EEC(503)는 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 어플리케이션(601, 603, 605)의 인증서(certificate)를 이용하여 서비스 수행을 요청한 어플리케이션(601, 603, 605)의 유효성을 검증할 수 있다. EEC(503)는 유효성 검증을 위한 데이터에 포함된 어플리케이션(601, 603, 605)의 인증서(certificate) 및 메모리(607)에 저장된 어플리케이션(601, 603, 605)의 인증서를 비교하는 방식으로, 어플리케이션(601, 603, 605)의 유효성을 확인할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 어플리케이션(601, 603, 605)의 인증서(certificate)의 해시 데이터를 이용하여 서비스 수행을 요청한 어플리케이션(601, 603, 605)의 유효성을 검증할 수 있다. . EEC(503)는 유효성 검증을 위한 데이터에 포함된 어플리케이션(601, 603, 605)의 인증서(certificate)의 해시 데이터 및 메모리(607)에 저장된 어플리케이션(601, 603, 605)의 인증서의 해시 데이터를 비교하는 방식으로, 어플리케이션(601, 603, 605)의 유효성을 확인할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 어플리케이션(601, 603, 605)의 유효성의 확인 결과에 기반하여 제 3 서버(530)에 접속하여 서비스를 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 어플리케이션(601, 603)이 유효함을 확인함에 대응하여, 제 3 서버(530)에 접속하여 서비스를 수행할 수 있다. 프로세서(501)는 어플리케이션(601, 603)이 에지 데이터(613)를 제 3 서버(530)로 전송하거나, 제 3 서버(530)가 전송하는 데이터를 어플리케이션(601, 603)이 수신할 수 있도록 통신 회로(611)를 제어할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 어플리케이션(605)이 유효하지 않음을 확인함에 대응하여, 제 3 서버(530)에 접속하여 서비스를 수행하는 동작을 차단할 수 있다. 프로세서(501)는 어플리케이션(605)이 일반 데이터(615)를 외부 서버(430)로 전송하거나, 외부 서버(430)가 전송하는 데이터를 어플리케이션(605)이 수신할 수 있도록 통신 회로(611)를 제어할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 유효하지 않은 어플리케이션(605)이 제 3 서버(530)를 이용한 서비스의 수행을 요청함을 확인함에 대응하여, 유효하지 않은 어플리케이션(605)을 이용한 무선 통신의 수행을 차단하는 다양한 동작을 수행할 수도 있다. EEC(503)는 유효하지 않은 어플리케이션(605)을 알리는 메시지를 출력하도록 전자 장치(400)의 다른 구성 요소들(예: 도 1의 표시 장치(160), 음향 출력 장치(155) 또는 햅틱 모듈(179))을 제어할 수 있다. EEC(503)는 유효하지 않은 어플리케이션(605)을 삭제할 수도 있다.
본 발명의 다양한 실시예에 따른 전자 장치(400)는 제 3 서버(530)를 이용한 서비스를 이용하기 위해서, 어플리케이션(601, 603, 605)의 식별 정보(예: 어플리케이션의 이름)뿐만 아니라 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 기반하여 어플리케이션(601, 603, 605)의 유효성 검증을 수행할 수 있다. 전자 장치(400)는 유효한 어플리케이션(601, 603)에 대해서 제 3 서버(530)를 이용하는 서비스를 제공할 수 있어, 보안성을 향상시킬 수 있다.
도 7은 본 발명의 다양한 실시예에 따른 전자 장치가 어플리케이션의 유효성 검증에 기반하여 제 3 서버를 이용한 서비스를 수행하는 동작을 도시한 동작 흐름도이다.
본 발명의 다양한 실시예에 따르면, 동작 701에서, 전자 장치(예: 도 4의 전자 장치(400))의 EEC(예: 도 5의 에지 인에이블러 클라이언트(503))는 제 2 서버(예: 도 5의 제 2 서버(520))의 접속 정보를 요청하는 신호를 제 1 서버(예: 도 5의 제 1 서버(510))로 전송할 수 있다.
본 발명의 다양한 실시예에 따르면, 동작 703에서, 제 1 서버(510)는 제 2 서버(520)의 접속 정보 요청의 수신에 대응하여, 제 1 서버(510)와 연결된 제 2 서버(520)의 접속 정보를 전송할 수 있다.
본 발명의 다양한 실시예에 따르면, 제 2 서버(520)의 접속 정보는 제 2 서버(520)의 식별 정보 및/또는 제 2 서버(520)의 접속 주소 정보를 포함할 수 있다. 제 2 서버(520)의 접속 주소 정보는 제 2 서버(520)의 IP 주소 정보, 제 2 서버(520)의 도메인 정보 또는 제 2 서버(520)의 URI 정보 중 적어도 하나를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 동작 705에서, EEC(503)는 제 2 서버(520)의 접속 정보에 기반하여 제 3 서버(530)의 접속 정보를 요청하는 에지 서비스 탐색 요청 메시지를 제 2 서버(520)로 전송할 수 있다. 에지 서비스 탐색 요청 메시지는 EEC(503)의 식별 정보, 제 2 서버(520)의 접속 권한을 인증하기 위한 토큰 정보 및/또는 제 2 서버(520)와 연결된 제 3 서버(530)의 검색 조건을 지시하는 정보(예: 특정 서비스 또는 특정 제 3 서버(530)를 지시하는 정보)를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 동작 707에서, 제 2 서버(520)는 에지 서비스 탐색 요청 메시지의 수신에 대응하여, 제 2 서버(520)와 연결된 제 3 서버(530)의 접속 정보를 포함하는 에지 서비스 탐색 응답 메시지를 EEC(503)으로 전송할 수 있다.
본 발명의 다양한 실시예에 따르면, 제 3 서버(530)의 접속 정보는 어플리케이션(예: 도 6의 제 1 어플리케이션(601), 제 2 어플리케이션(603) 또는 제 3 어플리케이션(605))의 유효성 검증을 위한 데이터를 포함할 수 있다. 어플리케이션(601, 603, 605)의 유효성의 검증은 제 3 서버(530)를 이용한 서비스 수행이 허용된 어플리케이션인지 여부를 확인하는 동작을 의미할 수 있다.
본 발명의 다양한 실시예에 따르면, 어플리케이션의 유효성 검증을 위한 데이터는 어플리케이션(601, 603, 605)의 유효성 검증에 이용될 수 있는 데이터를 의미할 수 있다. 어플리케이션의 유효성 검증을 위한 데이터는 어플리케이션(601, 603, 605)의 설치 데이터의 바이너리 데이터를 지정된 알고리즘(예: SHA1, SHA256, MD5)에 의해 구현된 함수에 입력하는 방식으로 생성된 제 2 해시 데이터, 제 2 해시 데이터를 지정된 방식(예: 대칭 키 방식 암호화, 공개 키 암호 방식 암호화)에 의해 암호화한 데이터인 제 2 서명 데이터 또는 암호화된 데이터를 복호화하는데 이용하는 복호화 키, 어플리케이션(601, 603, 605)의 인증서(certificate) 및 인증서의 해시 데이터 중 적어도 하나 이상을 포함할 수 있다. 인증서는 어플리케이션(601, 603, 605)의 제 3 의 인증 기관을 통해 발급되어, 어플리케이션(601, 603, 605)의 유효성이 존재함을 지시하는 데이터를 의미할 수 있다.
본 발명의 다양한 실시예에 따르면, 동작 709에서, EEC(503)는 제 3 서버(530)를 이용하는 서비스의 연결 요청을 어플리케이션(601, 603, 605) 으로부터 수신할 수 있다. 어플리케이션(601, 603, 605)은 어플리케이션(601, 603, 605)이 비활성화 상태에서 활성화 상태로 전환된 경우 또는 어플리케이션(601, 603, 605)이 백 그라운드 상태에서 포어그라운드 상태로 전환된 경우, 제 3 서버(530)를 이용하는 서비스의 연결 요청을 EEC(503)으로 전송할 수 있다.
본 발명의 다양한 실시예에 따르면, 도시하지 않았으나, 동작 709는 동작 705 이전에 수행될 수도 있다. 동작 709가 동작 705 이전에 수행되는 경우, EEC(503)는, 동작 705에서, 제 3 서버(530) 상에 설치된 특정 어플리케이션(531, 533)을 지시하는 정보(EAS)를 포함하는 에지 서비스 탐색 요청 메시지를 제 2 서버(520)로 전송할 수 있다. 제 2 서버(520)는, 동작 707에서, 제 2 서버(520)는 에지 서비스 탐색 요청 메시지에 제 3 서버(530) 상에 설치된 특정 어플리케이션(531, 533)을 지시하는 정보를 포함함을 확인함에 대응하여, EAS 식별 정보 필드에 어플리케이션의 유효성 검증을 위한 데이터를 입력한 제 3 서버(530)의 접속 정보를 포함하는 에지 서비스 탐색 응답 메시지를 전송할 수 있다. EEC(503)는 제 3 서버(530)의 접속 정보를 포함하는 에지 서비스 탐색 응답 메시지를 제 2 서버(520)로부터 수신하고, 제 3 서버(530)의 접속 정보에 포함된 EAS 식별 정보가 에지 서비스 탐색 요청 메시지에 포함된 EAS 식별 정보와 다름을 확인함에 대응하여, 제 3 서버(530)의 접속 정보의 EAS 식별 정보 필드에 존재하는 데이터를 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터로 이용할 수 있다.
본 발명의 다양한 실시예에 따르면, 동작 711에서, EEC(503)는 어플리케이션의 유효성을 확인할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 제 3 서버(530)의 접속 정보에 포함된 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 기반하여 서비스 수행을 요청한 어플리케이션(601, 603, 605)의 유효성을 검증할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 메모리(607)에 저장된 어플리케이션과 관련된 데이터에 포함된 제 1 서명 데이터와 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 제 2 서명 데이터가 일치하는지 여부를 확인할 수 있다. 전자 장치(400)에 설치된 어플리케이션(601, 603, 605)이 유효한 어플리케이션(601, 603)인 경우, 제 1 서명 데이터와 제 2 서명 데이터가 일치할 수 있다. 전자 장치(400)에 설치된 어플리케이션(605)이 유효하지 않은 어플리케이션인 경우(예: 제 3 어플리케이션(605)이 제 1 어플리케이션(601)과 이름만 동일한 어플리케이션인 경우, 제 3 어플리케이션(605)는 유효하지 않은 어플리케이션일 수 있다), 제 1 서명 데이터와 제 2 서명 데이터가 일치하지 않을 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 제 1 서명 데이터와 제 2 서명 데이터가 일치함을 확인함에 대응하여, 서비스 수행을 요청한 어플리케이션(601, 603)이 유효한 어플리케이션임을 확인할 수 있다. EEC(503)는 제 1 서명 데이터와 제 2 서명 데이터가 일치하지 않음을 확인함에 대응하여, 서비스 수행을 요청한 어플리케이션(605)이 유효하지 않은 어플리케이션임을 확인할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 메모리(607)에 저장된 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 제 2 해시 데이터가 일치하는지 여부를 확인할 수 있다. 전자 장치(400)에 설치된 어플리케이션(601, 603, 605)이 유효한 어플리케이션(601, 603)인 경우, 제 1 해시 데이터와 제 2 해시 데이터가 일치할 수 있다. 전자 장치(400)에 설치된 어플리케이션(605)이 유효하지 않은 어플리케이션인 경우(예: 제 3 어플리케이션(605)이 제 1 어플리케이션(601)과 이름만 동일한 어플리케이션인 경우, 제 3 어플리케이션(605)는 유효하지 않은 어플리케이션일 수 있다), 제 1 해시 데이터와 제 2 해시 데이터가 일치하지 않을 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 제 2 서명 데이터 및 복호화 키를 이용하여 제 2 해시 데이터를 생성할 수 있다. EEC(503)는 메모리(607)에 저장된 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 제 2 해시 데이터가 서로 일치하는지 여부를 확인할 수도 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 제 1 서버(510)로부터 제 2 서명 데이터를 복호화하기 위한 복호화 키를 제 1 서버(510)로부터 수신할 수도 있다. EEC(503)는 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 제 2 서명 데이터 및 제 1 서버(510)로부터 수신한 복호화 키를 이용하여 제 2 해시 데이터를 생성할 수 있다. EEC(503)는 메모리(607)에 저장된 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 제 2 해시 데이터가 서로 일치하는지 여부를 확인할 수도 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 복호화 키를 이용하여 어플리케이션(601, 603, 605)와 관련된 데이터에 포함된 제 1 서명 데이터를 복호화할 수 있다. EEC(503)는 제 1 서명 데이터의 복호화 값과 제 1 해시 데이터가 일치하는지 여부를 확인할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 제 1 해시 데이터와 제 2 해시 데이터가 일치함을 확인함에 대응하여, 서비스 수행을 요청한 어플리케이션(601, 603)이 유효한 어플리케이션임을 확인할 수 있다. EEC(503)는 제 1 해시 데이터와 제 2 해시 데이터가 일치하지 않음을 확인함에 대응하여, 서비스 수행을 요청한 어플리케이션(605)이 유효하지 않은 어플리케이션임을 확인할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 어플리케이션(601, 603, 605)의 인증서(certificate)를 이용하여 서비스 수행을 요청한 어플리케이션(601, 603, 605)의 유효성을 검증할 수 있다. EEC(503)는 유효성 검증을 위한 데이터에 포함된 어플리케이션(601, 603, 605)의 인증서(certificate) 및 메모리(607)에 저장된 어플리케이션(601, 603, 605)의 인증서를 비교하는 방식으로, 어플리케이션(601, 603, 605)의 유효성을 확인할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 어플리케이션(601, 603, 605)의 인증서(certificate)의 해시 데이터를 이용하여 서비스 수행을 요청한 어플리케이션(601, 603, 605)의 유효성을 검증할 수 있다. . EEC(503)는 유효성 검증을 위한 데이터에 포함된 어플리케이션(601, 603, 605)의 인증서(certificate)의 해시 데이터 및 메모리(607)에 저장된 어플리케이션(601, 603, 605)의 인증서의 해시 데이터를 비교하는 방식으로, 어플리케이션(601, 603, 605)의 유효성을 확인할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 어플리케이션(601, 603, 605)의 유효성의 확인 결과에 기반하여 제 3 서버(530)에 접속하여 서비스를 수행하도록 설정할 수 있다.
본 발명의 다양한 실시예에 따르면, 동작 713에서, EEC(503)은 서비스 실행 요청을 전송한 어플리케이션(505,예:601,603)이 유효한 어플리케이션임을 확인함에 대응하여, 에지 서비스 탐색 응답 메시지에 포함된 제 3 서버(530)의 접속 정보에 기반하여 어플리케이션(505, 예:601,603)에 제3 서버(530)와 연결을 수행하도록 설정할 수 있다.
본 다양한 실시예에 따르면, 동작 713에서, EEC(503)가 어플리케이션(505, 예:601,603)에 제 3 서버(530)와 연결을 수행하도록 설정하는 방법은, 제 3 서버(530)의 접속 정보(예:서버 어플리케이션(예:531,533)의 접속 정보(예:ip 주소))를 어플리케이션(예: 제 1 어플리케이션(601),제 2 어플리케이션(603))에 전달하여, 어플리케이션이 제 3 서버의 어플리케이션(예:531, 533)과 통신하도록 설정하는 방법이다. 예를 들어, EEC(503)는 클라이언트 어플리케이션(505,예:601,603)의 DNS 쿼리 요청에 대한 상기 서버 어플리케이션(예:531,533)의 접속 주소 정보(예: 서버 어플리케이션(531, 533)의 IP 주소)를 포함하는 응답 메시지를 어플리케이션(505)에 전송할 수 있다. 어플리케이션(505)는 서버 어플리케이션(531, 533)의 접속 정보에 기반하여 제 3 서버(530)의 어플리케이션(예: 531, 533)과 통신할 수 있도록 설정할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(400)(또는, 프로세서(501))는 어플리케이션(505)과 제 3 서버(530) 사이의 연결을 위한 전용 네트워크 채널을 설정할 수도 있다. 예를 들어, 프로세서(501)는 지정된 네트워크 인터페이스인 제 1 채널(예: 어플리케이션(505) 전용의 PDU 세션 수립 또는 전용 DNN 게이트웨이로 접속)을 생성하도록 통신 회로(611)를 제어할 수 있다. 전자 장치(400)(또는, 프로세서(501))는 어플리케이션(505)들이 상기 지정된 네트워크 인터페이스를 통해 데이터를 전송하거나, 수신하도록 통신 회로(611)를 제어할 수 있다.
본 발명의 다양한 실시예에 따르면, 동작 713에서, EEC(503)은 서비스 실행 요청을 전송한 어플리케이션(505,예:605)이 유효하지 않은 어플리케이션임을 확인함에 대응하여, 어플리케이션(505)(예: 제 3 어플리케이션(605))에 제 3 서버(530)의 접속 정보를 전달하지 않을 수 있다. 예를 들어, EEC(503)은 제 3 어플리케이션(605) 의 접속 정보 요청(예: dns query)를 무시하거나(drop), 제 3 어플리케이션(605)에 제 3 서버(530)의 접속이 불가능함을 지시하는 에러 메시지(예: dns error)를 회신하거나, 또는 외부 서버(403)의 어플리케이션(431)의 접속 정보(예:어플리케이션(431)의 접속을 위한 IP 주소)를 회신하는 방법으로 어플리케이션에 제 3 서버(530)의 접속 정보를 전달하지 않을 수 있다. 본 발명의 다양한 실시예에 따르면, 동작 715에서, 어플리케이션(601, 603)은 동작 713에서 설정된 제 3 서버(530) 접속 정보에 따라, 제 3 서버(530)의 어플리케이션(531, 533)과 어플리케이션 데이터를 전송하거나, 수신하는 방식으로 제 3 서버(530)를 이용한 서비스를 수행할 수 있다.
도 8은 본 발명의 다양한 실시예에 따른 전자 장치가 어플리케이션의 유효성 검증을 수행하는 실시예를 도시한 도면이다.
본 발명의 다양한 실시예에 따르면, 전자 장치(예: 도 4의 전자 장치(400))의 프로세서(예: 도 5의 프로세서(501)) 상에 실행되는EEC(503)는 해시 데이터의 비교, 서명 데이터의 비교를 포함하는 다양한 방식을 통해 어플리케이션(예: 도 6의 제 1 어플리케이션(601), 제 2 어플리케이션(603) 및/또는 제 3 어플리케이션(605))의 유효성을 검증할 수 있다.
본 발명의 다양한 실시예에 따르면, 제 3 서버(530)는 어플리케이션(601, 603, 605)의 검증을 위한 데이터를 저장할 수 있다. 제 3 서버(530)는 제 2 해시 데이터를 지정된 방식(예: 대칭 키 방식 암호화, 공개 키 암호 방식 암호화)에 의해 암호화한 데이터인 제 2 서명 데이터 및 어플리케이션의 식별 정보(예: 어플리케이션의 이름)을 포함하는 어플리케이션(601)의 검증을 위한 데이터를 저장하고, 어플리케이션(601, 603, 605)의 검증을 위한 데이터를 제 2 서버(520)로 전송할 수 있다.
본 발명의 다양한 실시예에 따르면, 제 2 서버(520)는, 어플리케이션(601, 603, 605)의 검증을 위한 데이터를 제 3 서버(530)로부터 수신하지 않고, 어플리케이션(601)의 검증을 위한 데이터를 직접 생성할 수도 있다. 제 2 서버(520)는 제 2 해시 데이터를 지정된방식(예: 대칭 키 방식 암호화, 공개 키 암호 방식 암호화)에 의해 암호화한 데이터인 제 2 서명 데이터 및 어플리케이션의 식별 정보(예: 어플리케이션의 이름)을 포함하는 어플리케이션(601)의 검증을 위한 데이터를 저장할 수도 있다.
본 발명의 다양한 실시예에 따르면, 제 2 서버(520)는 어플리케이션(601, 603, 605)의 검증을 위한 데이터를 포함하는 에지 서비스 탐색 응답 메시지를 EEC(503)으로 전송할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 어플리케이션(601, 603, 605)의 검증을 위한 데이터에 포함된 제 2 서명 데이터를 메모리(예: 도 6의 메모리(607))에 저장된 어플리케이션과 관련된 데이터에 포함된 복호화키에 기반하여 복호화할 수 있다. EEC(503)는 제 2 서명 데이터를 복호화하는 방식으로 생성된 제 2 해시 데이터와 메모리(607)에 저장된 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터가 서로 일치하는지 여부를 확인할 수도 있다. EEC(503)는 제 1 해시 데이터와 제 2 해시 데이터가 일치하는지 여부에 기반하여 어플리케이션(601, 603, 605)의 유효성을 검증할 수 있다.
본 발명의 다른 실시예에 따르면, 제 3 서버(530)는 어플리케이션(601, 603, 605)의 설치 데이터의 바이너리 데이터를 지정된 알고리즘(예: SHA1, SHA256 , MD5)에 의해 구현된 함수에 입력하는 방식으로 생성된 제 2 해시 데이터 및 어플리케이션(601, 603, 605)의 식별 정보(예: 어플리케이션의 이름)을 포함하는 어플리케이션(601, 603, 605)의 검증을 위한 데이터를 저장하고, 어플리케이션(601, 603, 605)의 검증을 위한 데이터를 제 2 서버(520)로 전송할 수 있다.
본 발명의 다양한 실시예에 따르면, 제 2 서버(520)는 어플리케이션(601, 603, 605)의 검증을 위한 데이터를 포함하는 에지 서비스 탐색 응답 메시지를 EEC(503)으로 전송할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 메모리(607)에 저장된 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 제 2 해시 데이터가 일치하는지 여부를 확인할 수 있다. 전자 장치(400)에 설치된 어플리케이션(601, 603, 605)이 유효한 어플리케이션(601, 603)인 경우, 제 1 해시 데이터와 제 2 해시 데이터가 일치할 수 있다. 전자 장치(400)에 설치된 어플리케이션(605)이 유효하지 않은 어플리케이션인 경우(예: 제 3 어플리케이션(605)이 제 1 어플리케이션(601)과 이름만 동일한 어플리케이션인 경우, 제 3 어플리케이션(605)는 유효하지 않은 어플리케이션일 수 있다), 제 1 해시 데이터와 제 2 해시 데이터가 일치하지 않을 수 있다.
본 발명의 또 다른 실시예에 따르면, 제 3 서버(530)는 제 1 서명 데이터 또는 제 2 서명 데이터의 복호화에 이용되는 복호화 키 및 어플리케이션의 식별 정보(예: 어플리케이션의 이름)을 포함하는 어플리케이션(601)의 검증을 위한 데이터를 저장하고, 어플리케이션(601, 603, 605)의 검증을 위한 데이터를 제 2 서버(520)로 전송할 수 있다.
본 발명의 다양한 실시예에 따르면, 제 2 서버(520)는 어플리케이션(601, 603, 605)의 검증을 위한 데이터를 포함하는 에지 서비스 탐색 응답 메시지를 EEC(503)으로 전송할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 복호화 키를 이용하여 어플리케이션(601, 603, 605)와 관련된 데이터에 포함된 제 1 서명 데이터를 복호화할 수 있다. EEC(503)는 제 1 서명 데이터의 복호화 값과 제 1 해시 데이터가 일치하는지 여부를 확인할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 제 1 해시 데이터와 제 2 해시 데이터가 일치함을 확인함에 대응하여, 서비스 수행을 요청한 어플리케이션(예: 제 1 어플리케이션(601) 또는 제 2 어플리케이션(603))이 유효한 어플리케이션임을 확인할 수 있다. EEC(503)는 제 1 해시 데이터와 제 2 해시 데이터가 일치하지 않음을 확인함에 대응하여, 서비스 수행을 요청한 어플리케이션(예: 제 3 어플리케이션(605))이 유효하지 않은 어플리케이션임을 확인할 수 있다.
도 9는 본 발명의 다양한 실시예에 따른 전자 장치가 제 1 서버에서 수신한 복호화 키를 이용한 어플리케이션의 유효성 검증을 수행하는 실시예를 도시한 도면이다.
본 발명의 다양한 실시예에 따르면, 제 1 서명 데이터 및/또는 제 2 서명 데이터를 복호화하는데 이용되는 복호화 키는 에지 서비스 탐색 응답 메시지를 전송하는 제 2 서버(520) 및/또는 에지 서비스를 위한 프로비저닝 절차를 수행하는 제 1 서버(510)에 저장될 수도 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 에지 서비스를 위한 프로비저닝 절차 또는 다른 절차에서 복호화 키를 제 1 서버(510)로부터 수신할 수도 있다.
본 발명의 다양한 실시예에 따르면, 제 2 서버(520)는 에지 서비스 탐색 절차를 통해 제 3 서버(530)의 접속 정보를 EEC(503)으로 전송할 수 있다.
본 발명의 다양한 실시예에 따르면, 제 3 서버(530)의 접속 정보는 어플리케이션의 유효성 검증을 위한 데이터를 포함할 수 있다. 어플리케이션(601, 603, 605)의 유효성의 검증은 제 3 서버(530)를 이용한 서비스 수행이 허용된 어플리케이션(예: 제 1 어플리케이션(601) 및/또는 제 2 어플리케이션(603))인지 여부를 확인하는 동작을 의미할 수 있다.
본 발명의 다양한 실시예에 따르면, 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터는 어플리케이션(601)의 유효성 검증에 이용될 수 있는 데이터를 의미할 수 있다. 어플리케이션의 유효성 검증을 위한 데이터는 어플리케이션(601)의 설치 데이터의 바이너리 데이터를 지정된 알고리즘(예: SHA1, SHA256 , MD5)에 의해 구현된 함수에 입력하는 방식으로 생성된 제 2 해시 데이터 중 적어도 하나 이상을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 어플리케이션(601)의 유효성 검증을 위한 데이터에 포함된 제 2 서명 데이터 및 제 1 서버(510)로부터 수신한 복호화 키를 이용하여 제 2 해시 데이터를 생성할 수 있다. EEC(503)는 메모리(607)에 저장된 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 제 2 해시 데이터가 서로 일치하는지 여부를 확인하고, 확인 결과에 기반하여 어플리케이션(601)의 유효성 검증을 수행할 수 있다.
도 10은 본 발명의 다양한 실시예에 따른 전자 장치가 인증서를 관리하는 외부 서버가 생성한 복호화 키를 이용한 어플리케이션의 유효성 검증을 수행하는 실시예를 도시한 도면이다.
본 발명의 다양한 실시예에 따르면, 제 3 서버(530) 또는 외부 서버(1010)는 제 2 해시 데이터를 외부 서버(1010)가 관리하는 개인 암호 키에 기반하여 암호화한 인증서를 생성할 수 있다.
본 발명의 다양한 실시예에 따르면, 제 3 서버(530)는 생성한 인증서를 제 2 서버(520)에 전송할 수 있다. 제 2 서버(520)는 제 2 해시 데이터의 생성 알고리즘에 대한 정보, 인증서, 개인 암호 키에 대응하는 공개 키, 제 2 해시 데이터에 대응하는 제 2 서명 데이터를 포함하는 어플리케이션(601)의 검증을 위한 데이터 중 적어도 하나를 저장 및 관리할 수 있다.
본 발명의 다양한 실시예에 따르면, 제 2 서버(520)는 에지 서비스 탐색 요청 메시지에 대응하여, 어플리케이션(601)의 검증을 위한 데이터를 포함하는 에지 서비스 탐색 응답 메시지를 EEC(503)으로 전송할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 어플리케이션(601)의 검증을 위한 데이터를 수신하고, 어플리케이션(601)의 검증을 위한 데이터에 포함된 공개 키를 이용하여 인증서를 복호화하는 방식으로 제 2 해시 데이터를 생성할 수 있다. EEC(503)는 메모리(607)에 저장된 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 제 2 해시 데이터가 서로 일치하는지 여부를 확인하고, 확인 결과에 기반하여 어플리케이션(601)의 유효성 검증을 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 제 3 서버(530) 또는 외부 서버(1010)는 제 2 해시 데이터를 암호화하는데 이용되는 암호 키에 대응하는 복호화 키를 외부 서버(1010)가 관리하는 개인 암호 키에 기반하여 암호화한 인증서를 생성할 수 있다.
본 발명의 다양한 실시예에 따르면, 제 3 서버(530)는 생성한 인증서를 제 2 서버(520)에 전송할 수 있다. 제 2 서버(520)는 제 2 해시 데이터의 생성 알고리즘에 대한 정보, 인증서, 개인 암호 키에 대응하는 공개 키, 제 2 해시 데이터 중 적어도 하나에 대응하는 제 2 서명 데이터를 포함하는 어플리케이션(601)의 검증을 위한 데이터를 저장 및 관리할 수 있다.
본 발명의 다양한 실시예에 따르면, 제 2 서버(520)는 에지 서비스 탐색 요청 메시지에 대응하여, 어플리케이션(601)의 검증을 위한 데이터를 포함하는 에지 서비스 탐색 응답 메시지를 EEC(503)으로 전송할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 어플리케이션(601, 603, 605)의 인증서(certificate)를 이용하여 서비스 수행을 요청한 어플리케이션(601, 603, 605)의 유효성을 검증할 수 있다. EEC(503)는 유효성 검증을 위한 데이터에 포함된 어플리케이션(601, 603, 605)의 인증서(certificate) 및 메모리(607)에 저장된 어플리케이션(601, 603, 605)의 인증서를 비교하는 방식으로, 어플리케이션(601, 603, 605)의 유효성을 확인할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 어플리케이션(601)의 검증을 위한 데이터를 수신하고, 어플리케이션(601)의 검증을 위한 데이터에 포함된 공개 키를 이용하여 인증서를 복호화하는 방식으로 공개 키를 생성할 수 있다. EEC(503)는 메모리(607)에 저장된 어플리케이션과 관련된 데이터에 포함된 제 1 서명 데이터를 생성된 공개 키로 복호화할 수 있다. EEC(503)는 제 1 서명 데이터의 복호화 값과 메모리(607)에 저장된 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터가 일치하는지 여부를 확인할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 제 1 해시 데이터와 제 2 해시 데이터가 일치함을 확인함에 대응하여, 서비스 수행을 요청한 어플리케이션(601)이 유효한 어플리케이션임을 확인할 수 있다. EEC(503)는 제 1 해시 데이터와 제 2 해시 데이터가 일치하지 않음을 확인함에 대응하여, 서비스 수행을 요청한 어플리케이션(601)이 유효하지 않은 어플리케이션임을 확인할 수 있다.
도 11은 본 발명의 다양한 실시예에 따른 전자 장치가 어플리케이션의 유효성 검증 결과에 기반하여 데이터 전송 경로를 설정하는 실시예를 도시한 도면이다.
도 5 내지 도 10에 서술된 실시예들은 전자 장치(예: 도 4의 전자 장치(400))가 어플리케이션의 유효성 검증 결과에 기반하여 에지 네트워크 시스템(예: 도 4의 에지 네트워크 시스템(500))이 제공하는 서비스를 수행하는 실시예에 관한 것이다. 본 발명의 다양한 실시예에 따른 전자 장치(400)는 어플리케이션의 유효성 검증 결과에 기반하여 코어 네트워크(예: 도 4의 코어 네트워크(420))가 제공하는 서비스(예: 어플리케이션에 대한 데이터 트래픽 경로의 설정 정책에 기반한 서비스)를 수행할 수도 있다.
본 발명의 다양한 실시예에 따른 전자 장치(400)는 적어도 하나 이상의 어플리케이션(예: 도 3의 어플리케이션(146))(601, 603, 605), 어플리케이션(601, 603, 605)과 관련된 데이터를 저장할 수 있는 메모리(607), 프로세서(501) 및/또는 통신 회로(611)를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 적어도 하나 이상의 어플리케이션(601, 603, 605)은 전자 장치(400) 상에 설치 가능한 프로그램일 수 있다. 설명의 편의를 위해, 적어도 하나 이상의 어플리케이션(601, 603, 605) 중 제 1 어플리케이션(601) 및 제 2 어플리케이션(603)은 특정 서비스를 수행하는 것이 허용된 어플리케이션이고, 제 3 어플리케이션(605)은 특정 서비스를 수행하는 것이 허용되지 않은 어플리케이션임을 가정한다.
본 발명의 다양한 실시예에 따르면, 메모리(예: 도 1의 메모리(130)) 는 어플리케이션(601, 603, 605)과 관련된 데이터, 어플리케이션(601, 603, 605)를 저장할 수 있다. 어플리케이션(601, 603, 605)과 관련된 데이터는 어플리케이션(601, 603, 605)의 설치에 이용되는 설치 데이터, 어플리케이션(601, 603, 605)의 설치 데이터의 바이너리 데이터를 지정된 알고리즘(예: SHA(secure hast algorithm)1, SHA256 또는 MD(message-digest algorithm)5)에 의해 구현된 함수에 입력하는 방식으로 생성된 제 1 해시 데이터, 제 1 해시 데이터를 다양한 방식(예: 대칭 키 방식 암호화, 공개 키 암호 방식 암호화)에 의해 암호화한 데이터인 제 1 서명 데이터 또는 암호화된 데이터를 복호화하는데 이용하는 복호화 키 중 적어도 하나 이상을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 통신 회로(611)는 어플리케이션(601, 603, 605)가 전송하는 데이터를 셀룰러 통신을 통해 코어 네트워크(420)와 연결된 외부 서버(예: 도 4의 외부 서버(430))로 전송(또는, 수신)할 수 있다. 통신 회로(611)는 외부 서버(430)로 제 1 데이터(1103)를 전송하거나, 수신하는 채널을 생성 및 관리할 수 있다. 통신 회로(611)는 URSP(UE Route Selection Policy) Handler(1101)의 제어에 기반하여 제 1 데이터(1103)를 전송하거나, 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, USRP Handler(1101)는 코어 네트워크(420)가 전송한 데이터 전송 경로에 대한 정보에 기반하여 어플리케이션(601, 603, 605) 데이터의 전송 경로 또는 수신 경로를 설정할 수 있다.
본 발명의 다양한 실시예에 따르면, 코어 네트워크(420)는 논리적으로 구현된 다양한 구성 요소들을 포함할 수 있다. 논리적으로 구현된 다양한 구성 요소들은 기능에 기반하여 구별될 수 있으며, 다양한 구성 요소들은 각자 상이한 기능을 수행할 수 있다. 도 11에 도시된 코어 네트워크(420)의 구성 요소들은 도 11의 설명에 필요한 구성 요소들을 도시한 것이며, 코어 네트워크(420)는 도 11에 도시되어 있지 않은 구성 요소들을 더 포함할 수도 있다.
본 발명의 다양한 실시예에 따르면, 코어 네트워크(420)는 AMF(access and mobility management function)(1111)를 포함할 수 있다. AMF(1111)는 전자 장치(400)의 셀룰러 통신 네트워크 상의 등록 절차, 전자 장치(400)의 이동성 관리(예: 전자 장치(400)의 위치 확인), 전자 장치(400)와 셀룰러 통신 네트워크와의 연결 관리를 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 코어 네트워크(420)는 AF(application function)(1113)을 포함할 수 있다. AF(1113)는 특정 품질을 보장하기 위해 사용자 데이터를 포함하는 패킷의 흐름을 모니터링하고, 패킷의 흐름에 대한 정보를 PCF(1115)로 전송할 수 있다.
본 발명의 다양한 실시예에 따르면, 코어 네트워크(420)는 PCF(policy control function)(1115)를 포함할 수 있다. PCF(1115)는 코어 네트워크(420)가 제공하는 셀룰러 통신 네트워크의 정책을 관리할 수 있다. PCF(1115)는 AF(1113)가 제공하는 패킷의 흐름에 대한 정보에 기반하여 세션 관리 또는 이동성 관리에 대한 정책을 결정하고, AMF(1111)가 결정된 세션 관리 정책 또는 이동성 관리 정책에 기반하여 동작하도록 AMF(1111)을 제어할 수 있다.
본 발명의 다양한 실시예에 따르면, PCF(1115)는 전자 장치(400)와 외부 서버(430)가 교환하는 데이터의 전송 경로(또는, 수신 경로)를 지정하는 정책을 의미하는 URSP 정보를 AMF(1111)를 통하여 USRP Handler(1101)로 전송할 수 있다.
본 발명의 다양한 실시예에 따르면, USRP 정보는 특정 어플리케이션(예: 제 1 어플리케이션(601))과 관련된 데이터가 특정 데이터 전송 경로를 통해 전송할 것을 지시하는 정보를 포함할 수 있다. USRP Handler(1101)는 USRP 정보에 기반하여 특정 어플리케이션(예: 제 1 어플리케이션(601))과 관련된 데이터는 USRP 정보에 포함된 전송 경로(예: 채널)를 통해 외부 서버(430)로 전송될 수 있도록 통신 회로(611)를 제어할 수 있다.
본 발명의 다양한 실시예에 따르면, USRP 정보는 특정 어플리케이션의 식별 정보(예: 특정 어플리케이션의 이름) 및/또는 어플리케이션의 유효성 검증을 위한 데이터를 포함할 수 있다. USRP 정보는 특정 어플리케이션의 식별 정보 및/또는 어플리케이션의 유효성 검증을 위한 데이터에 기반하여 생성된 압축 데이터 또는 암호화된 데이터를 포함할 수 있다. 압축 데이터 또는 암호화된 데이터는 다른 경로를 통해 수신한 압축 해제 알고리즘 또는 복호화 키에 기반하여 어플리케이션의 유효성 검증을 위해 사용될 수 있다.
본 발명의 다양한 실시예에 따르면, 어플리케이션의 유효성 검증을 위한 데이터는 어플리케이션(601, 603, 605)의 유효성 검증에 이용될 수 있는 데이터를 의미할 수 있다. 어플리케이션의 유효성 검증을 위한 데이터는 어플리케이션(601, 603, 605)의 설치 데이터의 바이너리 데이터를 지정된 알고리즘(예: SHA1, SHA256, MD5)에 의해 구현된 함수에 입력하는 방식으로 생성된 제 2 해시 데이터, 제 2 해시 데이터를 지정된 방식(예: 대칭 키 방식 암호화, 공개 키 암호 방식 암호화)에 의해 암호화한 데이터인 제 2 서명 데이터 또는 암호화된 데이터를 복호화하는데 이용하는 복호화 키 중 적어도 하나 이상을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, USRP HANDLER(1101)는 제 3 서버(530)의 접속 정보에 포함된 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 기반하여 서비스 수행을 요청한 어플리케이션(601, 603, 605)의 유효성을 검증할 수 있다.
본 발명의 다양한 실시예에 따르면, USRP HANDLER(1101)는 메모리(607)에 저장된 어플리케이션과 관련된 데이터에 포함된 제 1 서명 데이터와 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 제 2 서명 데이터가 일치하는지 여부를 확인할 수 있다. 전자 장치(400)에 설치된 어플리케이션(601, 603, 605)이 유효한 어플리케이션(601, 603)인 경우, 제 1 서명 데이터와 제 2 서명 데이터가 일치할 수 있다. 전자 장치(400)에 설치된 어플리케이션(605)이 유효하지 않은 어플리케이션인 경우(예: 제 3 어플리케이션(605)이 제 1 어플리케이션(601)과 이름만 동일한 어플리케이션인 경우, 제 3 어플리케이션(605)는 유효하지 않은 어플리케이션일 수 있다), 제 1 서명 데이터와 제 2 서명 데이터가 일치하지 않을 수 있다.
본 발명의 다양한 실시예에 따르면, USRP HANDLER(1101)는 제 1 서명 데이터와 제 2 서명 데이터가 일치함을 확인함에 대응하여, 서비스 수행을 요청한 어플리케이션(601, 603)이 유효한 어플리케이션임을 확인할 수 있다. USRP HANDLER(1101)는 제 1 서명 데이터와 제 2 서명 데이터가 일치하지 않음을 확인함에 대응하여, 서비스 수행을 요청한 어플리케이션(605)이 유효하지 않은 어플리케이션임을 확인할 수 있다.
본 발명의 다양한 실시예에 따르면, USRP HANDLER(1101)는 메모리(607)에 저장된 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 제 2 해시 데이터가 일치하는지 여부를 확인할 수 있다. 전자 장치(400)에 설치된 어플리케이션(601, 603, 605)이 유효한 어플리케이션(601, 603)인 경우, 제 1 해시 데이터와 제 2 해시 데이터가 일치할 수 있다. 전자 장치(400)에 설치된 어플리케이션(605)이 유효하지 않은 어플리케이션인 경우(예: 제 3 어플리케이션(605)이 제 1 어플리케이션(601)과 이름만 동일한 어플리케이션인 경우, 제 3 어플리케이션(605)는 유효하지 않은 어플리케이션일 수 있다), 제 1 해시 데이터와 제 2 해시 데이터가 일치하지 않을 수 있다.
본 발명의 다양한 실시예에 따르면, USRP HANDLER(1101)는 어플리케이션(601, 603)이 유효함을 확인함에 대응하여, USRP 정보에 포함된 전송 경로를 이용하여 데이터 송/수신을 수행할 수 있다. USRP HANDLER(1101)는 어플리케이션(601, 603)이 제 1 데이터(1103)를 USRP 정보에 포함된 전송 경로를 이용하여 외부 서버(430)로 전송하거나, 외부 서버(430)가 전송하는 데이터를 USRP 정보에 포함된 전송 경로를 이용하여 수신할 수 있도록 통신 회로(611)를 제어할 수 있다.
본 발명의 다양한 실시예에 따르면, USRP HANDLER(1101)는 어플리케이션(605)이 유효하지 않음을 확인함에 대응하여, USRP 정보에 포함된 전송 경로를 이용하지 않고 다른 경로를 이용하여 외부 서버(430)에 접속할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치는 어플리케이션과 관련된 데이터, 어플리케이션 및/또는 에지 인에이블러 클라이언트(EEC)를 저장하기 위한 메모리; 기지국을 통해 상기 전자 장치와 상기 전자 장치의 외부에 존재하는, 제 1 서버, 제 2 서버 및/또는 제 3 서버 사이의 통신 연결에 사용되기 위한 통신 회로; 및 프로세서를 포함하고, 상기 어플리케이션은 상기 제 3 서버에서 실행될 수 있는 어플리케이션에 대응하는 하나 이상의 기능들을 상기 전자 장치 상에서 수행하도록 설정되고, 상기 프로세서는 상기 제 1 서버 및/또는 상기 제 2 서버로부터 제 3 서버의 접속 정보를 수신하고, 상기 메모리에 저장된 어플리케이션의 상기 제 3 서버를 이용한 서비스 연결 요청에 대응하여, 상기 제 3 서버의 접속 정보에 포함된 상기 어플리케이션의 유효성 검증을 위한 데이터 및 상기 어플리케이션과 관련된 데이터에 기반하여 상기 어플리케이션의 유효성을 확인하고, 및 상기 어플리케이션의 유효성의 확인 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치에서, 상기 프로세서는 상기 어플리케이션과 관련된 데이터에 포함된 제 1 서명 데이터와 상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 제 2 서명 데이터를 비교하고, 상기 비교 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치에서, 상기 프로세서는 상기 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 제 2 해시 데이터를 비교하고, 상기 비교 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하도록 설정되고, 상기 제 2 해시 데이터는 상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 제 2 서명 데이터를 상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 복호화 키를 이용하여 복호화하여 생성되는 데이터일 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치에서, 상기 프로세서는 상기 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 제 2 해시 데이터를 비교하고, 상기 비교 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치에서, 상기 프로세서는 상기 제 1 서버로부터 복호화 키를 수신하고, 상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 제 2 서명 데이터를 상기 복호화 키에 기반하여 복호화하는 방식으로 제 2 해시 데이터를 생성하고, 상기 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 상기 제 2 해시 데이터를 비교하고, 상기 비교 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치에서, 상기 프로세서는 상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 복호화 키에 기반하여 상기 어플리케이션과 관련된 데이터에 포함된 제 1 서명 데이터의 복호화하는 방식으로 제 2 해시 데이터를 생성하고, 상기 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 상기 제 2 해시 데이터를 비교하고, 상기 비교 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치에서, 상기 프로세서는 외부 서버로부터 복호화 키를 수신하고, 상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 인증 데이터를 상기 복호화 키에 기반하여 복호화하는 방식으로 제 2 해시 데이터를 생성하고, 상기 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 상기 제 2 해시 데이터를 비교하고, 상기 비교 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치에서, 상기 어플리케이션의 유효성 검증을 위한 데이터는 상기 제 2 서버로부터 수신하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치에서, 상기 프로세서는 상기 어플리케이션의 유효성의 확인 결과에 기반하여 상기 제 3 서버를 통한 무선 통신을 수행하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치에서, 상기 프로세서는 상기 어플리케이션의 유효성 검증이 성공함을 확인함에 대응하여, 상기 제 3 서버를 통해 상기 서비스를 수행하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치에서, 상기 프로세서는 상기 어플리케이션의 유효성 검증을 실패함을 확인함에 대응하여, 상기 어플리케이션을 이용한 데이터 전송을 차단하도록 설정될 수 있다.
도 12는 본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법(1200)을 도시한 동작 흐름도이다.
본 발명의 다양한 실시예에 따르면, 동작 1210에서, 전자 장치(예: 도 4의 전자 장치(400))는 적어도 하나의제 2 서버들(예: 도 5의 제 2 서버(520))의 접속 정보를 제 1 서버(예: 도 5의 제 1 서버(510))로부터 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, 제 2 서버(520)의 접속 정보는 제 2 서버(520)의 식별 정보, 제 2 서버(520)의 IP 주소 정보, 제 2 서버(520)의 도메인 정보 또는 제 2 서버(520)의 URI 정보 중 적어도 하나를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 동작 1220에서, 전자 장치(400)는 적어도 하나의 제 2 서버들(520)로부터 적어도 하나의 제 3 서버(예: 도 5의 제 3 서버(530))의 접속 정보를 수신할 수 있다.
본 발명의 다양한 실시예에 따르면, EEC(503)는 어플리케이션(505)에게 에지 컴퓨팅 서비스를 제공할 수 있는 제 3 서버(530)에 대한 정보를 획득하기 위한 에지 서비스 탐색 절차를 수행할 수 있다. EEC(503)는 제 2 서버(520)와 연결된 적어도 하나의 제 3 서버(530)의 접속 정보를 요청하는 에지 서비스 탐색 요청 메시지를 제 2 서버(520)로 전송할 수 있다. 제 2 서버(520)는 제 2 서버(520)가 저장하고 있는 제 3 서버(530)의 접속 정보를 포함하는 에지 서비스 탐색 응답 메시지를 EEC(503)로 전송할 수 있다. 제 3 서버(530)의 접속 정보는 제 3 서버(530)의 식별자, 제 3 서버(530) 상에 설치된 어플리케이션(531, 533)에 접속하기 위한 정보를 포함할 수 있다. 제 3 서버(530) 상에 설치된 어플리케이션(531, 533)에 접속하기 위한 정보는 어플리케이션(531, 533)을 이용한 서비스의 접속을 위한 접속 주소 정보(예:URI 정보, IP 주소 및/또는 도메인 주소) 또는 서비스 식별자(EAS ID) 를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 제 3 서버(530)의 접속 정보는 어플리케이션의 유효성 검증을 위한 데이터를 포함할 수 있다. 어플리케이션(601, 603, 605)의 유효성의 검증은 제 3 서버(530)를 이용한 서비스 수행이 허용된 어플리케이션인지 여부를 확인하는 동작을 의미할 수 있다.
본 발명의 다양한 실시예에 따르면, 어플리케이션의 유효성 검증을 위한 데이터는 어플리케이션(601, 603, 605)의 유효성 검증에 이용될 수 있는 데이터를 의미할 수 있다. 어플리케이션의 유효성 검증을 위한 데이터는 어플리케이션(601, 603, 605)의 설치 데이터의 바이너리 데이터를 지정된 알고리즘(예: SHA1, SHA256 , MD5)에 의해 구현된 함수에 입력하는 방식으로 생성된 제 2 해시 데이터, 제 2 해시 데이터를 지정된 방식(예: 대칭 키 방식 암호화, 공개 키 암호 방식 암호화)에 의해 암호화한 데이터인 제 2 서명 데이터 또는 암호화된 데이터를 복호화하는데 이용하는 복호화 키, 어플리케이션(601, 603, 605)의 인증서(certificate) 및 인증서의 해시 데이터 중 적어도 하나 이상을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 동작 1230에서, 전자 장치(400)는 어플리케이션의 유효성 검증을 위한 데이터에 기반하여 어플리케이션의 유효성을 확인할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(400)는 메모리(예: 도 6의 메모리(607))에 저장된 어플리케이션과 관련된 데이터에 포함된 제 1 서명 데이터와 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 제 2 서명 데이터가 일치하는지 여부를 확인할 수 있다. 전자 장치(400)에 설치된 어플리케이션(601, 603, 605)이 유효한 어플리케이션(601, 603)인 경우, 제 1 서명 데이터와 제 2 서명 데이터가 일치할 수 있다. 전자 장치(400)에 설치된 어플리케이션(605)이 유효하지 않은 어플리케이션인 경우(예: 제 3 어플리케이션(605)이 제 1 어플리케이션(601)과 이름만 동일한 어플리케이션인 경우, 제 3 어플리케이션(605)는 유효하지 않은 어플리케이션일 수 있다), 제 1 서명 데이터와 제 2 서명 데이터가 일치하지 않을 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(400)는 제 1 서명 데이터와 제 2 서명 데이터가 일치함을 확인함에 대응하여, 서비스 수행을 요청한 어플리케이션(601, 603)이 유효한 어플리케이션임을 확인할 수 있다. 전자 장치(400)는 제 1 서명 데이터와 제 2 서명 데이터가 일치하지 않음을 확인함에 대응하여, 서비스 수행을 요청한 어플리케이션(605)이 유효하지 않은 어플리케이션임을 확인할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(400)는 메모리(607)에 저장된 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 제 2 해시 데이터가 일치하는지 여부를 확인할 수 있다. 전자 장치(400)에 설치된 어플리케이션(601, 603, 605)이 유효한 어플리케이션(601, 603)인 경우, 제 1 해시 데이터와 제 2 해시 데이터가 일치할 수 있다. 전자 장치(400)에 설치된 어플리케이션(605)이 유효하지 않은 어플리케이션인 경우(예: 제 3 어플리케이션(605)이 제 1 어플리케이션(601)과 이름만 동일한 어플리케이션인 경우, 제 3 어플리케이션(605)는 유효하지 않은 어플리케이션일 수 있다), 제 1 해시 데이터와 제 2 해시 데이터가 일치하지 않을 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(400)는 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 제 2 서명 데이터 및 복호화 키를 이용하여 제 2 해시 데이터를 생성할 수 있다. 전자 장치(400)는 메모리(607)에 저장된 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 제 2 해시 데이터가 서로 일치하는지 여부를 확인할 수도 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(400)는 제 1 서버(510)로부터 제 2 서명 데이터를 복호화하기 위한 복호화 키를 제 1 서버(510)로부터 수신할 수도 있다. 전자 장치(400)는 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 제 2 서명 데이터 및 제 1 서버(510)로부터 수신한 복호화 키를 이용하여 제 2 해시 데이터를 생성할 수 있다. 전자 장치(400)는 메모리(607)에 저장된 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 제 2 해시 데이터가 서로 일치하는지 여부를 확인할 수도 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(400)는 어플리케이션(601, 603, 605)의 유효성 검증을 위한 데이터에 포함된 복호화 키를 이용하여 어플리케이션(601, 603, 605)와 관련된 데이터에 포함된 제 1 서명 데이터를 복호화할 수 있다. 전자 장치(400)는 제 1 서명 데이터의 복호화 값과 제 1 해시 데이터가 일치하는지 여부를 확인할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(400)는 제 1 해시 데이터와 제 2 해시 데이터가 일치함을 확인함에 대응하여, 서비스 수행을 요청한 어플리케이션(601, 603)이 유효한 어플리케이션임을 확인할 수 있다. 전자 장치(400)는 제 1 해시 데이터와 제 2 해시 데이터가 일치하지 않음을 확인함에 대응하여, 서비스 수행을 요청한 어플리케이션(605)이 유효하지 않은 어플리케이션임을 확인할 수 있다.
본 발명의 다양한 실시예에 따르면, 동작 1240에서, 전자 장치(400)는 어플리케이션(601, 603, 605)의 유효성의 확인 결과에 기반하여 제 3 서버(530)에 접속하여 서비스를 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(400)는 어플리케이션(601, 603)이 유효함을 확인함에 대응하여, 제 3 서버(530)에 접속하여 서비스를 수행할 수 있다. 전자 장치(400)는 어플리케이션(601, 603)이 데이터를 제 3 서버(530)로 전송하거나, 제 3 서버(530)가 전송하는 데이터를 어플리케이션(601, 603)이 수신할 수 있도록 통신 회로(611)를 제어할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(400)는 어플리케이션(605)이 유효하지 않음을 확인함에 대응하여, 제 3 서버(530)에 접속하여 서비스를 수행하는 동작을 차단할 수 있다. 전자 장치(400)는 어플리케이션(605)이 데이터를 외부 서버(430)로 전송하거나, 외부 서버(430)가 전송하는 데이터를 어플리케이션(605)이 수신할 수 있도록 통신 회로(611)를 제어할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법은 제 1 서버로부터 제 2 서버의 접속을 위한 제 2서버의 접속 정보를 수신하는 동작; 상기 제 2 서버의 접속 정보에 기반하여 접속한 상기 제 2 서버로부터 제 3 서버의 접속 정보를 수신하는 동작; 어플리케이션의 상기 제 3 서버를 이용한 서비스 연결 요청에 대응하여, 상기 제 3 서버의 접속 정보에 포함된 상기 어플리케이션의 유효성 검증을 위한 데이터에 기반하여 상기 어플리케이션의 유효성을 확인하는 동작; 및 상기 어플리케이션의 유효성의 확인 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법은 상기 전자 장치의 메모리에 저장된 어플리케이션과 관련된 데이터에 포함된 제 1 서명 데이터와 상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 제 2 서명 데이터를 비교하는 동작; 및 상기 비교 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법은 상기 전자 장치의 메모리에 저장된 상기 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 제 2 해시 데이터를 비교하는 동작; 및 상기 비교 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하는 동작을 더 포함하고, 상기 제 2 해시 데이터는 상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 제 2 서명 데이터를 상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 복호화 키를 이용하여 복호화하여 생성되는 데이터일 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법은 상기 전자 장치의 메모리에 저장된 상기 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 제 2 해시 데이터를 비교하는 동작; 및 상기 비교 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법은 상기 제 1 서버로부터 복호화 키를 수신하는 동작; 상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 제 2 서명 데이터를 상기 복호화 키에 기반하여 복호화하는 방식으로 제 2 해시 데이터를 생성하는 동작; 상기 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 상기 제 2 해시 데이터를 비교하는 동작; 및 상기 비교 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법은 상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 복호화 키에 기반하여 상기 어플리케이션과 관련된 데이터에 포함된 제 1 서명 데이터의 복호화하는 방식으로 제 2 해시 데이터를 생성하는 동작; 상기 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 상기 제 2 해시 데이터를 비교하는 동작; 및 상기 비교 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법은 외부 서버로부터 복호화 키를 수신하는 동작; 상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 인증 데이터를 상기 복호화 키에 기반하여 복호화하는 방식으로 제 2 해시 데이터를 생성하는 동작; 상기 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 상기 제 2 해시 데이터를 비교하는 동작; 및 상기 비교 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법은상기 제 3 서버가 제공 가능한 서비스 식별자를 포함하는 상기 제 3 서버의 접속 정보를 요청하는 신호를 전송하는 동작; 및 상기 서비스 식별자에 대응하는 어플리케이션의 유효성 검증을 위한 데이터를 포함하는 상기 제 3 서버의 접속 정보를 수신하는 동작을 더 포함하고, 상기 어플리케이션의 유효성 검증을 위한 데이터는 상기 제 3 서버의 접속 정보의 서비스 식별자(EAS) 필드 또는 어플리케이션 식별자(ACID) 필드에 존재할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법은 상기 어플리케이션의 유효성 검증이 성공함을 확인함에 대응하여, 상기 제 3 서버를 통해 상기 서비스를 수행하는 동작; 또는 상기 어플리케이션의 유효성 검증이 실패함을 확인함에 대응하여, 상기 제 3 서버를 통해 상기 서비스를 수행하는 동작을 차단하는 동작 중 어느 하나의 동작을 더 포함할 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", “A 또는 B 중 적어도 하나,”"A, B 또는 C," "A, B 및 C 중 적어도 하나,”및 “A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, “기능적으로” 또는 “통신적으로”라는 용어와 함께 또는 이런 용어 없이, “커플드” 또는 “커넥티드”라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체 는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (15)

  1. 전자 장치에 있어서,
    어플리케이션과 관련된 데이터, 어플리케이션 및/또는 에지 인에이블러 클라이언트(EEC)를 저장하기 위한 메모리;
    기지국을 통해 상기 전자 장치와 상기 전자 장치의 외부에 존재하는, 제 1 서버, 제 2 서버 및/또는 제 3 서버 사이의 통신 연결에 사용되기 위한 통신 회로; 및
    프로세서를 포함하고,
    상기 어플리케이션은
    상기 제 3 서버에서 실행될 수 있는 어플리케이션에 대응하는 하나 이상의 기능들을 상기 전자 장치 상에서 수행하도록 설정되고,
    상기 프로세서는
    상기 제 1 서버 및/또는 상기 제 2 서버로부터 제 3 서버의 접속 정보를 수신하고,
    상기 메모리에 저장된 어플리케이션의 상기 제 3 서버를 이용한 서비스 연결 요청에 대응하여, 상기 제 3 서버의 접속 정보에 포함된 상기 어플리케이션의 유효성 검증을 위한 데이터 및 상기 어플리케이션과 관련된 데이터에 기반하여 상기 어플리케이션의 유효성을 확인하고, 및
    상기 어플리케이션의 유효성의 확인 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하도록 설정된 전자 장치.
  2. 제 1항에 있어서,
    상기 프로세서는
    상기 어플리케이션과 관련된 데이터에 포함된 제 1 서명 데이터와 상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 제 2 서명 데이터를 비교하고,
    상기 비교 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하도록 설정된 전자 장치.
  3. 제 1 항에 있어서,
    상기 프로세서는
    상기 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 제 2 해시 데이터를 비교하고,
    상기 비교 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하도록 설정되고,
    상기 제 2 해시 데이터는
    상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 제 2 서명 데이터를 상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 복호화 키를 이용하여 복호화하여 생성되는 데이터인 전자 장치.
  4. 제 1항에 있어서,
    상기 프로세서는
    상기 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 제 2 해시 데이터를 비교하고,
    상기 비교 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하도록 설정된 전자 장치.
  5. 제 1항에 있어서,
    상기 프로세서는
    상기 제 1 서버로부터 복호화 키를 수신하고,
    상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 제 2 서명 데이터를 상기 복호화 키에 기반하여 복호화하는 방식으로 제 2 해시 데이터를 생성하고,
    상기 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 상기 제 2 해시 데이터를 비교하고,
    상기 비교 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하도록 설정된 전자 장치.
  6. 제 1항에 있어서,
    상기 프로세서는
    상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 복호화 키에 기반하여 상기 어플리케이션과 관련된 데이터에 포함된 제 1 서명 데이터의 복호화하는 방식으로 제 2 해시 데이터를 생성하고,
    상기 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 상기 제 2 해시 데이터를 비교하고,
    상기 비교 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하도록 설정된 전자 장치.
  7. 제 1항에 있어서,
    상기 프로세서는
    외부 서버로부터 복호화 키를 수신하고,
    상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 인증 데이터를 상기 복호화 키에 기반하여 복호화하는 방식으로 제 2 해시 데이터를 생성하고,
    상기 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 상기 제 2 해시 데이터를 비교하고,
    상기 비교 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하도록 설정된 전자 장치.
  8. 제 1항에 있어서,
    상기 어플리케이션의 유효성 검증을 위한 데이터는
    상기 제 2 서버로부터 수신하도록 설정된 전자 장치.
  9. 제 1항에 있어서,
    상기 프로세서는
    상기 어플리케이션의 유효성의 확인 결과에 기반하여 상기 제 3 서버를 통한 무선 통신을 수행하도록 설정된 전자 장치.
  10. 제 9항에 있어서,
    상기 프로세서는
    상기 어플리케이션의 유효성 검증이 성공함을 확인함에 대응하여, 상기 제 3 서버를 통해 상기 서비스를 수행하도록 설정된 전자 장치.
  11. 제 9항에 있어서,
    상기 프로세서는
    상기 어플리케이션의 유효성 검증을 실패함을 확인함에 대응하여, 상기 어플리케이션을 이용한 데이터 전송을 차단하도록 설정된 전자 장치.
  12. 전자 장치의 동작 방법에 있어서,
    제 1 서버로부터 제 2 서버의 접속을 위한 제 2서버의 접속 정보를 수신하는 동작;
    상기 제 2 서버의 접속 정보에 기반하여 접속한 상기 제 2 서버로부터 제 3 서버의 접속 정보를 수신하는 동작;
    어플리케이션의 상기 제 3 서버를 이용한 서비스 연결 요청에 대응하여, 상기 제 3 서버의 접속 정보에 포함된 상기 어플리케이션의 유효성 검증을 위한 데이터에 기반하여 상기 어플리케이션의 유효성을 확인하는 동작; 및
    상기 어플리케이션의 유효성의 확인 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하는 동작을 포함하는 전자 장치의 동작 방법.
  13. 제 12 항에 있어서,
    상기 전자 장치의 동작 방법은
    상기 전자 장치의 메모리에 저장된 어플리케이션과 관련된 데이터에 포함된 제 1 서명 데이터와 상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 제 2 서명 데이터를 비교하는 동작; 및
    상기 비교 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하는 동작을 더 포함하는 전자 장치의 동작 방법.
  14. 제 12항에 있어서,
    상기 전자 장치의 동작 방법은
    상기 전자 장치의 메모리에 저장된 상기 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 제 2 해시 데이터를 비교하는 동작; 및
    상기 비교 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하는 동작을 더 포함하고,
    상기 제 2 해시 데이터는
    상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 제 2 서명 데이터를 상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 복호화 키를 이용하여 복호화하여 생성되는 데이터인 전자 장치의 동작 방법.
  15. 제 12항에 있어서,
    상기 전자 장치의 동작 방법은
    상기 전자 장치의 메모리에 저장된 상기 어플리케이션과 관련된 데이터에 포함된 제 1 해시 데이터와 상기 어플리케이션의 유효성 검증을 위한 데이터에 포함된 제 2 해시 데이터를 비교하는 동작; 및
    상기 비교 결과에 기반하여 상기 제 3 서버에 접속하여 상기 서비스를 수행하는 동작을 더 포함하는 전자 장치의 동작 방법.
PCT/KR2021/002091 2020-05-25 2021-02-19 에지 컴퓨팅 서비스를 수행하는 전자 장치 및 전자 장치의 동작 방법 WO2021241849A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP21812760.3A EP4142236A4 (en) 2020-05-25 2021-02-19 ELECTRONIC DEVICE FOR PERFORMING AN EDGE COMPUTING SERVICE AND OPERATING METHOD OF AN ELECTRONIC DEVICE
CN202180038320.4A CN115918031A (zh) 2020-05-25 2021-02-19 执行边缘计算服务的电子装置和电子装置的操作方法
US17/986,497 US20230100148A1 (en) 2020-05-25 2022-11-14 Electronic device for performing edge computing service, and operating method of electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0062594 2020-05-25
KR1020200062594A KR20210145558A (ko) 2020-05-25 2020-05-25 에지 컴퓨팅 서비스를 수행하는 전자 장치 및 전자 장치의 동작 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/986,497 Continuation US20230100148A1 (en) 2020-05-25 2022-11-14 Electronic device for performing edge computing service, and operating method of electronic device

Publications (1)

Publication Number Publication Date
WO2021241849A1 true WO2021241849A1 (ko) 2021-12-02

Family

ID=78744992

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/002091 WO2021241849A1 (ko) 2020-05-25 2021-02-19 에지 컴퓨팅 서비스를 수행하는 전자 장치 및 전자 장치의 동작 방법

Country Status (5)

Country Link
US (1) US20230100148A1 (ko)
EP (1) EP4142236A4 (ko)
KR (1) KR20210145558A (ko)
CN (1) CN115918031A (ko)
WO (1) WO2021241849A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11611544B2 (en) * 2020-10-08 2023-03-21 Paypal, Inc. Delayed user authentication
US12028717B2 (en) * 2020-12-22 2024-07-02 Samsung Electronics Co., Ltd. Electronic device for providing digital ID information and method thereof
US11743342B2 (en) * 2021-02-05 2023-08-29 Samsung Electronics Co., Ltd. Electronic device for performing edge computing service and a method for the same
US20230362058A1 (en) * 2022-05-06 2023-11-09 Qualcomm Incorporated Negotiation and notification of protocol data unit (pdu) set or data burst marking mechanisms

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018093638A1 (en) * 2016-11-16 2018-05-24 Cisco Technology, Inc. Application based intelligent edge computing in a low power wide area network environment
EP3462316A1 (en) * 2017-09-29 2019-04-03 NEC Laboratories Europe GmbH System and method to support network slicing in an mec system providing automatic conflict resolution arising from multiple tenancy in the mec environment
KR20190132018A (ko) * 2018-05-18 2019-11-27 삼성전자주식회사 어플리케이션의 데이터 전송에 기반하여 네트워크 연결을 수행하기 위한 전자 장치 및 그에 관한 방법
KR20200007754A (ko) * 2018-07-13 2020-01-22 삼성전자주식회사 엣지 컴퓨팅 서비스를 위한 방법 및 그의 전자 장치
KR20200033092A (ko) * 2018-09-19 2020-03-27 주식회사맥데이타 엣지 컴퓨팅 기반 네트워크 모니터링 방법, 장치 및 시스템

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8285732B2 (en) * 2006-12-18 2012-10-09 Sap Ag Method and system for providing themes for software applications
US20090271847A1 (en) * 2008-04-25 2009-10-29 Nokia Corporation Methods, Apparatuses, and Computer Program Products for Providing a Single Service Sign-On
US20120089481A1 (en) * 2009-11-24 2012-04-12 Chain Reaction Ecommerce, Inc. Securing sensitive information with a trusted proxy frame
US20130191882A1 (en) * 2012-01-19 2013-07-25 Sap Ag Access control of remote communication interfaces based on system-specific keys
US10846694B2 (en) * 2014-05-21 2020-11-24 Visa International Service Association Offline authentication
CN106161350B (zh) * 2015-03-31 2020-03-10 华为技术有限公司 一种管理应用标识的方法及装置
US10652746B2 (en) * 2017-08-22 2020-05-12 T-Mobile Usa, Inc. Secure device access token
US10757089B1 (en) * 2018-03-05 2020-08-25 Sprint Communications Company L.P. Mobile phone client application authentication through media access gateway (MAG)

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018093638A1 (en) * 2016-11-16 2018-05-24 Cisco Technology, Inc. Application based intelligent edge computing in a low power wide area network environment
EP3462316A1 (en) * 2017-09-29 2019-04-03 NEC Laboratories Europe GmbH System and method to support network slicing in an mec system providing automatic conflict resolution arising from multiple tenancy in the mec environment
KR20190132018A (ko) * 2018-05-18 2019-11-27 삼성전자주식회사 어플리케이션의 데이터 전송에 기반하여 네트워크 연결을 수행하기 위한 전자 장치 및 그에 관한 방법
KR20200007754A (ko) * 2018-07-13 2020-01-22 삼성전자주식회사 엣지 컴퓨팅 서비스를 위한 방법 및 그의 전자 장치
KR20200033092A (ko) * 2018-09-19 2020-03-27 주식회사맥데이타 엣지 컴퓨팅 기반 네트워크 모니터링 방법, 장치 및 시스템

Also Published As

Publication number Publication date
US20230100148A1 (en) 2023-03-30
KR20210145558A (ko) 2021-12-02
EP4142236A1 (en) 2023-03-01
CN115918031A (zh) 2023-04-04
EP4142236A4 (en) 2023-10-25

Similar Documents

Publication Publication Date Title
WO2021241849A1 (ko) 에지 컴퓨팅 서비스를 수행하는 전자 장치 및 전자 장치의 동작 방법
WO2018008943A1 (en) Method and device for managing security according to service in wireless communication system
WO2020050555A1 (en) Method for uwb transaction and electronic device therefor
WO2021025482A1 (en) Electronic device and method for generating attestation certificate based on fused key
WO2020204505A1 (ko) 엣지 컴퓨팅 서비스를 위한 방법 및 그의 전자 장치
WO2020246822A1 (en) Electronic device and method for switching electronic device between dual standby mode and single standby mode
WO2020032445A1 (en) Electronic device, external electronic device, and method of managing embedded subscriber identity modules of external electronic device
AU2019337074B2 (en) Method for UWB transaction and electronic device therefor
EP3108613A1 (en) Method and apparatus for authenticating client credentials
EP3241129A1 (en) User terminal, service providing apparatus, driving method of user terminal, driving method of service providing apparatus, and encryption indexing-based search system
WO2018090823A1 (zh) 一种系统分区关键数据的保护方法及系统、终端
WO2021201620A1 (en) Electronic device for performing edge computing service and method for the same
WO2022114483A1 (ko) 에지 컴퓨팅 서비스를 수행하는 전자 장치 및 전자 장치의 동작 방법
WO2017099342A1 (ko) 임시 계정 정보를 제공하는 방법, 장치 및 시스템
WO2021015568A1 (en) Electronic device and method for protecting personal information using secure switch
WO2020054942A1 (ko) 액세서리를 이용하여 인증을 수행하는 전자 장치 및 전자 장치의 동작 방법
WO2018076875A1 (zh) 备份数据的同步方法、装置、存储介质、电子设备及服务器
WO2021162427A1 (ko) 전자 장치 및 전자 장치에서의 피어 투 피어 서비스 수행 방법
WO2019151792A1 (ko) 프로파일을 설치하는 전자 장치 및 전자 장치의 동작 방법
WO2019107946A1 (en) Electronic device and method for processing remote payment
WO2022225195A1 (ko) 무선 네트워크에서 장치 프로비져닝을 위한 전자 장치 및 그 동작 방법
WO2015126136A1 (en) Method and apparatus for authenticating client credentials
WO2022231140A1 (ko) 장치 식별 정보를 송신 및/또는 수신하는 전자 장치 및 그 동작 방법
WO2022182102A1 (ko) 사용자 인증을 수행하는 방법 및 이를 수행하는 장치
WO2022045705A1 (ko) 전자 장치 및 복수의 가입자 식별 모듈들을 지원하는 전자 장치에서 단문 메시지를 수신하는 방법

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202217066988

Country of ref document: IN

ENP Entry into the national phase

Ref document number: 2021812760

Country of ref document: EP

Effective date: 20221122

NENP Non-entry into the national phase

Ref country code: DE