This application claims the benefit under 35 U.S.C. §119(a) of a Korean patent application filed on Dec. 29, 2014 in the Korean Intellectual Property Office and assigned Serial number 10-2014-0191775, the entire disclosure of which is hereby incorporated by reference.
The present disclosure relates to a user terminal, a service providing apparatus, a driving method of a user terminal, a driving method of a service providing apparatus, and an encryption indexing-based search system. More particularly, the present disclosure relates to a user terminal, a service providing apparatus, a driving method of a user terminal, a driving method of a service providing apparatus, and an encryption indexing-based search system, which can safely and easily search and use contents stored in a user's terminal using a cloud service.
As storage devices storing users' data are increasingly used, various mechanisms for managing and searching data from the users' storage devices are developing. Devices like a laptop computer, a desktop computer, a tablet personal computer (PC), a mobile phone, etc. store and manage a large amount of user data.
Today, most of the information extraction methods use localized search methods. For example, when a user searches content stored in the user's own mobile phone, the mobile phone performs the requested search and provides the search results to the user.
In addition, a semantic search service which provides user-customized search results by considering user's intention and context has been introduced and used in many popular search engines. For example, when a user searches under “Lake Tahoe”, the semantic search service provides main attributes such as location, altitude, average temperature, and salt levels of Lake Tahoe rather than providing only a relevant link list, or directly provides answers rather than linking to a question-type search like “What is the 10th largest lake in California?”
In general, in order to use content stored in a multi device, the user should search and find the content in the user's own multi device. To solve this problem, a data searching method and apparatus of the related art provides a cloud service to easily search data stored in a plurality of devices owned by a user.
However, since the method of the related art provides content of all of the multi devices and indexes of the contents to the cloud, there is a problem that, when the cloud is exposed to a malicious action, all of the user's content is leaked. When data needs to be shared on the cloud, there is a risk that personal data is leaked.
The above information is presented as background information only to assist with an understanding of the present disclosure. No determination has been made, and no assertion is made, as to whether any of the above might be applicable as prior art with regard to the present disclosure.
Aspects of the present disclosure are to address at least the above-mentioned problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of the present disclosure is to provide a user terminal, a service providing apparatus, a driving method of a user terminal, a driving method of a service providing apparatus, and an encryption indexing-based search system, which can safely and easily search and use contents stored in a user's terminal using a cloud service.
In accordance with an aspect of the present disclosure, a user terminal is provided. The user terminal includes a storage configured to store a content and an indexing information processor configured to generate indexing information for searching the stored content, encrypt the generated indexing information, and provide the encrypted indexing information to a service providing apparatus which manages the encrypted indexing information.
In accordance with another aspect of the present disclosure, a service providing apparatus is provided. The service providing apparatus includes a storage configured to store indexing information which is encrypted for searching a content stored in a user terminal, and an index search processor configured to verify the encrypted indexing information to identify and prevent falsification of the encrypted indexing information received from the user terminal, store the verified encrypted indexing information in the storage, and provide the encrypted indexing information in response to a request for a search of the content.
In accordance with another aspect of the present disclosure, a driving method of a user terminal is provided. The driving method includes storing a content, generating indexing information for searching the stored content, encrypting the generated indexing information, and providing the encrypted indexing information to a service providing apparatus which manages indexing information.
In accordance with another aspect of the present disclosure, a driving method of a service providing apparatus is provided. The method includes receiving indexing information which is encrypted for searching a content stored in a user terminal, verifying the encrypted indexing information to identify and prevent falsification of the encrypted indexing information received from the user terminal, storing the verified encrypted indexing information, and providing the encrypted indexing information in response to a request for a search of the content.
In accordance with another aspect of the present disclosure, an encryption indexing-based search system is provided. The encryption indexing-based search system includes a user terminal configured to generate indexing information related to a content stored therein, encrypt the generated indexing information, and transmit the indexing information, and a service providing apparatus configured to receive the encrypted indexing information from the user terminal, verify the encrypted indexing information to identify and prevent falsification of the encrypted indexing information, store the verified encrypted indexing information in a storage, and provide the encrypted indexing information to a user terminal which owns authority to access the content in response to a request for a search of the content.
According to various embodiments of the present disclosure, indexing information generated by being encrypted in the user terminal is synchronized with the service providing apparatus, so that the content stored in the user terminal can be safely and easily searched.
Other aspects, advantages, and salient features of the disclosure will become apparent to those skilled in the art from the following detailed description, which, taken in conjunction with the annexed drawings, discloses various embodiments of the present disclosure.
The above and other aspects, features, and advantages of certain embodiments of the present disclosure will be more apparent from the following description taken in conjunction with the accompanying drawings, in which:
Throughout the drawings, like reference numerals will be understood to refer to like parts, components, and structures.
The following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of various embodiments of the present disclosure as defined by the claims and their equivalents. It includes various specific details to assist in that understanding but these are to be regarded as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the various embodiments described herein can be made without departing from the scope and spirit of the present disclosure. In addition, descriptions of well-known functions and constructions may be omitted for clarity and conciseness.
The terms and words used in the following description and claims are not limited to the bibliographical meanings, but, are merely used by the inventor to enable a clear and consistent understanding of the present disclosure. Accordingly, it should be apparent to those skilled in the art that the following description of various embodiments of the present disclosure is provided for illustration purpose only and not for the purpose of limiting the present disclosure as defined by the appended claims and their equivalents.
It is to be understood that the singular forms “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to “a component surface” includes reference to one or more of such surfaces.
Referring to
The term “including a part or all” used herein indicates that, when the user terminal 100 accesses the service providing apparatus 120 through direct communication, some elements, such as the communication network 110, may be omitted, and will be explained as including the entirety for understanding of the present disclosure.
The user terminal 100 includes a mobile device, which performs wire or wireless communication, such as a mobile phone (e.g. smartphone), a laptop, a tablet personal computer (PC), or a personal digital assistant (PDA), etc., and various devices such as a television (TV), a plasma display panel (PDP), a moving picture experts group phase 1 or phase 2 (MPEG-1 or MPEG-2) audio layer 3 (MP3) player, a desktop computer, a wearable device, etc. The user terminal 100 may further include a set-top box interworking with a TV. According to an embodiment of the present disclosure, the user terminal 100 may be any device that can search data and display data on a screen. In addition, the user terminal 100 can search data and may be connected with an external display to display data on an external screen. The data recited herein may refer to data on contents such as a document, a photo, a moving image, etc.
The user terminal 100 according to an embodiment of the present disclosure may generate encrypted indexing information corresponding to a certain content, for example, a document written by a user. In addition, the encrypted indexing information is transmitted to the service providing apparatus 120 and is generated, stored, and managed in the users' respective indexing information table. In this process, it is determined whether the encrypted indexing information has integrity. When it is determined that the encrypted indexing information has integrity, the indexing information is stored in the encrypted state.
Regarding the encrypted indexing information stored in the service providing apparatus 120, a valid subscriber who can use an encryption indexing-based search service according to an embodiment of the present disclosure may freely search the indexing information only in the registered user terminals 100, share the indexing information, search the shared indexing information and then access data based on the indexing information, or may unshare the indexing information. In addition, the subscriber may delete the indexing information according to deletion of data or change the indexing information. Furthermore, when a situation (or context) such as characteristics or location of a device, a device for providing content is in an off state, or when a new device should be registered or the device should be changed, the encrypted indexing information may be changed or used. The “sharing” recited herein means that a user A requests content X from the service providing apparatus 120 to cooperate with a user B, and the user B shares indexing information on the content X with the user A. A detailed description will be provided below.
Referring to
To generate the above-described information, the user terminal 100 may extract metadata, (i.e., information according to the type of content), and store the metadata. To generate the indexing information, the user may receive or store the content, and then execute a program (or an application) related to the encryption indexing-based service to select a corresponding content. The type of the content refers to a kind of a content such as a photo, a document, and a moving image, and the meta information may include different data according to the kind of the content. When the meta information is extracted, a security level of the content is determined according to a security policy. The security level may be determined variously according to the security policy. The security policy may vary from office to office or from user to user, and may vary from program designer to program designer. Therefore, the present disclosure does not limit how the security policy is set. However, for example, the security level following the security policy may be determined according to a location of a device in which the original file, (i.e., the content), is stored, a place where the original file is stored, whether a keyword includes word “confidential” or “security”, user's selection, or a reporting form of a report, or an appropriate combination of them.
In addition, the user terminal 100 determines an indexing target (or object) such as a creator, a creation date, and a title according to the type of the content, and then extracts terms related to the determined indexing target, (i.e., target values). The indexing target may be referred to as a keyword according to an embodiment of the present disclosure. A combination of the keyword and a key may be referred to as a token. When the user terminal 100 requests the service providing apparatus 120 to search indexing information, the user provides information in the form of a token, and the service providing apparatus 120 may search whether token information 250 of
When the above-described process is completed, the user terminal 100 may generate indexing information by encrypting the URI information 210 of the content, and the meta information 220 and the token information 250 of the content as shown in
The user terminal 100 may include a user terminal 1100-1 and a user terminal 2100-2 as shown in
Referring to
In addition, when the user terminal 2100-2, which is a terminal of a different user, stores a content, the user terminal 1100-1 may receive the content via the communication network 110. However, if the user of the user terminal 2100-2 does not allow the user of the user terminal 1100-2 to share the content or limits access authority, then the user terminal 1100-1 may not receive information on the corresponding content from the service providing apparatus 12 which manages relevant information, or may receive brief information according to access authority given thereto, and displays the information or display in the form of a thumbnail image.
Referring to
As described above with reference to
The communication network 110 includes any wired or wireless communication network. The wired network includes a cable network or the internet such as a public switched telephone network (PSTN). The wireless communication network includes a code division multiple access (CDMA), wideband CDMA (WCDMA), a global system for mobile communications (GSM), evolved packet core (EPC), long term evolution (LTE), a wireless broadband (WiBro) network, etc. However, the communication network 110 is not limited to the above-mentioned networks. The communication network 110 may be used in a cloud computing network, etc. under the cloud computing environment as a connection network of a next-generation mobile communication system, which will be implemented in the future. For example, when the communication network 110 is the wired communication network, the access point in the communication network 110 may access an exchange office of a telephone company. When the communication network 110 is the wireless communication network, the communication network 110 may access a serving general packet radio service (GPRS) support node (SGSN) or gateway GPRS support node (GGSN) run by a mobile network operator and process data, or may access various repeaters such as base station transmission (BTS), NodeB, evolved NodeB (e-NodeB), etc., and process data.
The communication network 110 may include an access point. The access point includes a small base station such as a femto or pico base station which is mostly installed in a building. The femto and pico base stations are divided according to the maximum number of user terminals 100 that can be connected with the base station at one time. The access point includes a short-range communication module to perform short-range communication, such as ZigBee and Wi-Fi, with the user terminal 100. The access point may use a transmission control protocol (TCP)/Internet protocol (IP) or a real time streaming protocol (RTSP) for wireless communication. The short-range communication may be performed according to various standards such as Bluetooth, ZigBee, infrared data association (IrDA), radio frequency (RF) such as ultra high frequency (UHF) and very high frequency (VHF), and ultra wide band (UWB), etc. in addition to Wi-Fi. Accordingly, the access point may extract the location of a data packet, designate an optimum communication path for the extracted location, and transmit the data packet to the next device (e.g., the user terminal 100) through the designated communication path. The access point may share a plurality of wires in a normal network environment, and may include a router, a repeater, a relay station, etc.
The service providing apparatus 120 includes a server such as a cloud server for providing the encryption indexing-based search service. The service providing apparatus 120 may identify the integrity by verifying the validity of the encrypted indexing information provided by the user terminal 100. When the integrity is identified, the service providing apparatus 120 may generate and manage a table of indexing information encrypted for each user. For example, when the user terminal 100 requests to search a certain content in the user terminal 100, for example, when the user provides a search term or a voice query to a screen search window, the service providing apparatus 120 may receive a corresponding token (or token information), search using the received token, and provides the search results to the user terminal 100. The token may include key information which is a kind of authority information, and search term information. In this case, the search term information may be information for searching, and may also be information for finding the token information 250 included in the indexing information of
In addition, the service providing apparatus 120 may perform various operations, such as sharing the indexing information requested by the user to interwork with the user terminal 100, searching a shared file and accessing the file, changing the indexing information, unsharing, and deleting the indexing information. These operations will be explained in detail below.
Referring to
Referring to
The interface 600 includes a communication interface and a user interface. The communication interface may perform communication with the service providing apparatus 120 via the communication network 110, or may perform direct communication with a neighboring terminal. For example, the communication interface may transmit indexing information which is encrypted in the indexing information processor 610 to the service providing apparatus 120, and, in response to a user's request for a search, may receive indexing information which is encrypted according to the requested search and transmit the indexing information to the indexing information processor 610. In addition, the interface 600 may identify whether received information is information on the neighboring terminal through direct communication based on URI information extracted from the indexing information decrypted in the indexing information processor 610, and, when the received information is the information on the neighboring terminal, receive the content of the neighboring terminal and transmits the content to the indexing information processor 610 to display the content on the display 620. The user interface includes a power button to turn on or off the power. The user interface may include a voice acquirer to acquire a voice uttered by the user. The voice acquirer may interwork with the service providing apparatus 120 through an application stored in the storage 630, such as an S-voice.
The indexing information processor 610 may control the overall operation of the interface 600, the display 620, the storage 630, etc. provided in the user terminal 100. For example, the indexing information processor 610 may store indexing information received through the interface 600 in the storage 630, and then decrypt the indexing information using a decryption key stored in the storage 630. In addition, the indexing information processor 610 may extract URI information from the decrypted indexing information. The indexing information processor 610 may control the interface 600 to search a content based on the extracted URI information. Thereafter, in response to the content searched based on the URI information being received, the indexing information processor 610 may output the content to the display 620.
The indexing information processor 610 may be configured in various ways. For example, the indexing information processor 610 may be configured only in the form of hardware or software or in the form of an appropriate combination. When the indexing information processor 610 is configured only by hardware, the indexing information processor 610 may include a central processing unit (CPU) and a memory, and may store a program (or an application) for processing the indexing information in the memory and execute the program under the control of the CPU. A specific software module of the program stored in the memory may be implemented in the form of hardware. When the indexing information processor 610 is configured only by software, the indexing information processor 610 may store a program for processing indexing information therein using a mask read only memory (ROM), an erasable programmable ROM (EPROM), or an electrically erasable and programmable ROM (EEPROM), and execute the program. The indexing information processor 610 may be configured by an appropriate combination of hardware and software.
The display 620 may display various data which are processed under the control of the indexing information processor 610. For example, the display 620 may display a list of search results 710 generated using metadata of the decrypted indexing information, as shown in
In addition, an integrated search is performed through a search window 700 displayed on the screen of the display 620 as shown in
The storage 630 may include at least one of a volatile memory and a non-volatile memory. When the storage 630 is a volatile memory, the overall data or information processed in the indexing information processor 610 may be temporarily stored. When the data is content-related data, the information may be indexing information.
Alternatively, when the storage 630 is a non-volatile memory, a program for processing indexing information is stored in the storage 630 and then the storage 630 may provide the program in response to a request of the indexing information processor 610. For example, the storage 630 may provide the program itself in order for the indexing information processor 610 to store the program in an internal memory, or may execute the program and provide only the results of the executing.
Referring to
Comparing the user terminal 100′ of
The voice receiver 810 may include a microphone. When the user utters a query for searching in the form of a word or a sentence, the voice receiver 810 may acquire the uttered voice through the microphone. In addition, the acquired query may be processed by an application stored in the storage 820, such as Samsung™ S-voice. Accordingly, the acquired query may be provided to the indexing information processor 850 and analyzed by the indexing information processor 850.
The controller 830 and the indexing information processor 850 of
For example,
Referring to
The index management module 900 may generate encrypted information using content, URI information, security information, and meta information. In addition, the indexing determination module 910 determines a content type from the content and transmits the determined type to the keyword extraction module 920. The keyword extraction module 920 extracts an indexing target and a target value corresponding to the indexing target from the content according to the content type, and transmits the extracted results to the search encryption module 930. The search encryption module 930 generates search term information (or token information). The data encryption module 940 may encrypt original URI information and meta information provided by the index management module 900. In this case, advanced encryption standard (AES) or other encryption algorithm. may be used as an encryption algorithm. The signature module 950 may generate an electronic signature for the encrypted original URI, meta information, and security information. The key storage module 960 may store and manage a key for encrypting and a signature. The meta information extraction module 970 may extract the meta information according to the content type, and the security level analysis module 975 may determine and store a security level with reference to the meta information of the content according to a security policy.
The control module 980 may control the overall modules. The authority management module 985 may add the user B to authority information for the user A to use the content X to allow the user B to search. The query conversion module 990 may analyze a user's semantic query and convert the result of analysis to match with the indexing information. The state monitoring module 995 may identify a connection state of an external device, and an on and off state of a device, etc. The on and off state of the device may indicate whether power is supplied from a power supply device, or whether the communication network 110 is connected with a network.
In response to a semantic query being received through the voice receiver 810 in the form of a voice, the indexing information processor 850 may analyze the semantic query and convert the result of analysis to match with the indexing information. When the semantic query is “the report written last weekend,” the indexing information processor 850 converts the query to have indexing target information on a date and a title (i.e., a keyword). The information converted in this way may be encrypted and provided to the service providing apparatus 120. This operation may be performed by the query conversion module 990 of
The context recognizer 860 may include a photographer such as a camera for recognizing a surrounding context. The context recognizer 860 provides an image which is obtained by photographing a surrounding context to the controller 830, and, for example, the controller 830 may analyze the image and determine the exposure state of the user terminal 100′. According to the result of determination, the controller 830 may filter the content received through the communication interface 800 and display the content on the display 840. For example, the controller 830 may skip the page including a specific phrase having a high security level, such as “meeting record” or “budget”, and display the document on the screen.
According to an embodiment of the present disclosure, the user terminal 100′ of
Referring to
The communication interface 1000 may provide encrypted indexing information which is generated and provided by the user terminal 100 to the index search processor 1010. In addition, the communication interface 1000 may receive a semantic query which is encrypted and provided by the user terminal 100 (i.e., a token), and provide the semantic query to the index search processor 1010. The communication interface 1000 may transmit indexing information which is searched in the storage 1020, which is a search DB, by the corresponding token to the user terminal 100. In addition, the communication interface 1000 may perform various operations related to the operations requested by the user terminal 100, such as sharing indexing information, deleting indexing information, unsharing, etc.
The index search processor 1010 may control the overall operations of the communication interface 1000 and the storage 1020 in the service providing apparatus 120. The operation of the index search processor 1010 may be divided into an operation of registering the encrypted indexing information at the users' respective index information table of the storage 1020 by interworking with the user terminal 100, and an operation of searching indexing information registered at the information table using the semantic query provided by the user terminal 100, for example, the token, according to the user's search request.
First, to register the indexing information at the index information table, the index search processor 1010 may identify the integrity by verifying the validity of signature information in the indexing information which is encrypted and received. The integrity is related to identifying and preventing falsification of data. The validity may be verified by using a verification key of a user who transmitted the indexing information, or by acquiring a public key additionally and using the public key. For example, when the user owns only one of the two keys and opens the other key to the public, the validity of the signature information may be verified by acquiring the public key and thus by using the key owned by the user. When the integrity is identified in this way, the other indexing information is stored in the indexing table, and the security information is the information that has been already encrypted, and thus may be stored as a plain text (i.e., may be stored without being encrypted).
In response to the semantic query (i.e., the token) being received, the index search processor 1010 may perform a keyword search in the storage 1020 using the received token, and provide the search results to the communication interface 1000 to transmit the search results to the user terminal 100.
Referring to
Since the communication interface 1100 and the storage 1130 of
The controller 1110 and the index search execution unit 1120 of
Referring to
The signature module 1120a identifies the integrity by verifying the validity of signature information of the indexing information which is encrypted and received. In addition, in response to a token for searching being received, the search encryption module 1120b may search the users' respective indexing information table of the storage 1130 using the token. The search encryption module 1120b may be a search engine. The authentication management module 1120c authenticates a user and a device. The key storage module 1120d may store a key provided by the user terminal 100 and then may use the key when identifying the integrity. The index management module 1120e reflects the indexing information on the user's DB. The control module 1120f controls the overall operations of the inner modules.
According to an embodiment of the present disclosure, the service providing apparatus 120′ of
Referring to
The control module 1120f of the service providing apparatus 120 instructs the authentication management module 1120c of
Some of the operations described up to now may be combined with other modules. For example, the authentication management module 1120c may be a part of the control module 1120f, or may be a module which is included in a platform or a web browser module. Therefore, the various embodiments of the present disclosure are not limited to the above-described module configuration.
Referring to
The indexing determination module 910 determines a content type based on the content provided by the index management module 900, and transmits information on the determined type to the keyword extraction module 920. The content (or file) type may include a document, a photo, a moving image, etc.
The keyword extraction module 920 may extract an indexing target from the content according to the content type, and transmit the extracted result to the search encryption module 930. The indexing target may be referred to as a keyword. For example, in the case of a document, the indexing target may be a creator, a creation date, a title, etc., and, in the case of a photo, the indexing target may be a photographing date, a photographing place, etc. In the case of a moving image, the indexing target may be a recording date, a recording place, a recording time, etc.
The search encryption module 930 may add a token and output the token. In this process, the search encryption module 930 may use a key stored in the key storage module 960. The additional token includes keyword information for searching a content in the encrypted search DB of the service providing apparatus 120. A search encryption algorithm applied to the search encryption module 930 may be configured variously. For example, searchable symmetric encryption with dynamic updating may be applied.
The original URI and the meta information provided by the index management module 900 may be encrypted through the data encryption module 940. An encryption algorithm in the data encryption module 940 may use AES, etc. having an operation mode. The data encryption module 940 may use a data security key stored in the key storage module 960 to encrypt.
A first signature module may be included in the signature module 950, and may generate a first electronic signature (signature #1) on the encrypted original URI, the encrypted meta information, and the security information. The first electronic signature provides the integrity on the encrypted original URI, the encrypted meta information, and the security information, and identifies and prevents falsification of related data on the search DB. In this process, the signature module 950 may receive a signature key from the key storage module 960, and use the signature key.
A second signature module may also be included in the signature module 950, and may generate a second electronic signature (signature #2) on the encrypted URI, the encrypted meta information, the security information, the additional token, and the first electronic signature. The second electronic signature guarantees the integrity of data transmitted until related data is transmitted to the control module 1120f of the service providing apparatus 120 shown in
The first electronic signature and the second electronic signature according to an embodiment of the present disclosure may be configured by a same electronic signature algorithm. In this case, the same signature key and the same verification key may be used.
When an extra authentication protocol (hypertext transfer protocol (HTTP) over secure socket layer (SSL) (HTTPS)) is used when the encryption indexing-based search system 90 according to an embodiment of the present disclosure is designed, the second electronic signature may be omitted. The HTTPS encrypts session data through an SSL or transport layer security (TLS) protocol. Therefore, it can be seen that data is appropriately protected.
The key storage module 960 may store and manage keys for search encryption, data encryption, and signature (or digital signature). The key storage module 960 may include a key generation module for each algorithm when necessary. The key storage module 960 may include a key generation module for search encryption, a key generation module for data encryption, and a key generation module for signature.
Referring to
When the authentication is completed, the signature module 1120a identifies the integrity by verifying the validity of the second electronic signature in the received first indexing information. In this case, a verification key (or public key) of the transmitter is required. The public key may be openly acquired from a public key list of a public key infrastructure (PKI).
However, when an extra message authentication protocol is used by a system designer when the first indexing information is transmitted, as described above, the second digital verification may be omitted.
When the integrity of the first indexing information is identified, the signature module 1120a outputs the second indexing information having the configuration shown in
Referring to
To achieve this, the user of the user terminal 100 inputs a semantic query to search the indexing information in the search DB. The inputting the query may include not only inputting a search term through the search window shown in
In response to the query being inputted, the user terminal 100 converts the query to match the indexing target of the indexing information through the query conversion module 990. For example, in response to a query “the report written last weekend,”, the user terminal 100 may convert the query to match the indexing target (i.e., date (8/2), title (report), and abstract (report)).
In addition, the converted query may be changed to the form of a token through the search encryption module 930, and may be encrypted through the data encryption module 940 and transmitted to the service providing apparatus 120. The user terminal 100 may transmit a user identification (ID), a device ID, and the encrypted query.
The control module 1120f of the service providing apparatus 120 searches the URI, the meta information, and the security information of the content to be found using the search engine or the search encryption module 1120b, and transmits the search results to the user terminal 100. In this process, the service providing apparatus 120 authenticates the received user ID and device ID through the authentication management module 1120c, and then, when the user is determined to be valid, performs the search process and provides the search results.
In response to the encrypted indexing information being received, the user terminal 100 may determine a connection state with an external device using the state monitoring module 995 of
In response to the user terminal 100 being determined to be connected with an external device, the search results are filtered and displayed on the screen. For example, when “confidential” or “budget” is identified, the result on the corresponding document may not be displayed in the list of search results 710 of
The user terminal 100 may decrypt the encrypted indexing information, and receive the content based on the URI information, and may determine the connection state with an external device or an exposure state using the state monitoring module 995 of
In response to a semantic query received from the user through the index management module 900, the user terminal 100 according to an embodiment of the present disclosure transmits the semantic query to the query conversion module 990. The query conversion module 990 analyzes the semantic query and outputs a search keyword to the search encryption module 930. The search encryption module 930 generates a token using the search keyword. The search token enables a keyword search in the encrypted search DB, and the configuration and generation thereof may vary according to search encryption. For example, the token may be a combination of the search keyword and the key. Thereafter, the index management module 900 transmits the search token to the service providing apparatus 120 to search an index.
The authentication management module 1120c of the service providing apparatus 120 may determine whether the received search token is made by a valid user, that is, a service subscriber. When the search token is made by the valid user, the search token may be transmitted to the search encryption module 1120b. The search encryption module 1120b performs a keyword search in the encrypted search DB using the inputted search token, and provides the search results to the user terminal 100.
In response to the search results received through the index management module 900, the user terminal 100 identifies the integrity of the search results returning by the control module 1120f of the service providing apparatus 120 by verifying the validity through the signature module 950. After the integrity is verified, the user terminal 100 decrypts the URI and the security information encrypted through the data encryption module 940. In addition, the index management module 900 may provide the decrypted original URI, meta information, and security information to the user. A verification key and a decryption key used in the verifying and decrypting operations may be stored in and managed by the key storage module 960.
Referring to
The control module 980 of the user terminal 1100-1 requests the authority management module 985 to change authority information of the content X. The authority management module 985 adds the user B to the authority information of the content X, and allows sharing. In this case, the sharing may include searching, reading, and updating indexing information (or content).
In addition, the control module 980 requests the index management module 900 to modify the indexing information on the content X.
As described above, the user A may generate and manage a sharing table with the user B to share. However, the user B is able to search the indexing information but is unable to correct and delete the indexing information. Only the user A is able to correct and delete the search DB. In addition, the user B is unable to arbitrarily change an indexing target in the sharing search DB. In other words, since the content X is created by the user A, the user A has the authority.
Accordingly, as shown in the drawings, the indexing information table of the user A stores a sharing history with the user B, and the indexing information of the user A is copied or modified and registered on the indexing information table of the user B, so that the user B can access the content X of the user A.
When the user A of the user terminal 1100-1 wishes to share information in the search DB with the user B, the control module 980 requests the authority management module 985 to modify authority information on the sharing data. The modified authority information includes allowing the user B to access the sharing content.
Accordingly, the authority management module 985 may generate a new key to be used for a sharing user, for example, a search security key and a data security key, and may store the keys in the key storage module 960 and simultaneously transmit the keys to the user B. The user B may receive the keys through the key transmission module 1800. The authority management module 985 may include a search security key generation module 985a and a data security key generation module 985b to generate the new keys. The search security key generation module 985a may generate the search security key to generate indexing information for the user B and transmit the search security key to the key storage module 960, and the data security key generation module 985b may generate the data security generation key to generate indexing information for the user B and transmit the data security generation key to the key storage module 960. The newly generated search security key and data security key may be transmitted to the user B, and, in this case, an existing channel protection method may be equally applied to the transmission method. The search security key may be used to access the indexing information for the content X of the user A, and the data security key may be used to access the content X.
The index management module 900 may receive the modified security information, meta information, original URI, and content, and generate the indexing information in the same method as the encryption index generation process.
The search security key and the data security key use keys generated for the sharing user B, and the key of the user A may be used as a signature key. In the process of generating the encrypted index, the search DB which enables the user B to search, but does not allow the user B to modify is generated.
The service providing apparatus 120 may manage and generate the encrypted index on the indexing information received by the control module 1120f from the user terminal 1100-1. When the validity is verified after the integrity is identified through the signature module 1120a, the service providing apparatus 120 generates the search DB of the sharing user B by the user A.
Referring to
The index management module 900″ of the user terminal 2100-2 receives indexing information as a result of searching under a semantic query. The index management module 900″ may transmit the received indexing information to the control module 980″ of the user terminal 2100-2.
The control module 980″ of the user terminal 2100-2 may access the user terminal 1100-1 based on the URI information on the content X, and request an access to the sharing content X from the control module 980′ of the user terminal 1100-1. In this process, the control module 980′ may request a data security key. When the control module 980′ of the user terminal 1100-1 determines that the user B has the authority to access as a result of identifying the security information of the user B through the authority management module 985′, the user terminal 1100-1 may share the content X with the user B.
Referring to
When the user A has a sharing history with the user B as a result of identifying the sharing history, the user terminal 1100-1 may request to modify corresponding meta information in the indexing information of the content X stored in the indexing information table of the user B, and thus modify the corresponding information.
In addition, referring to
When the user A has the sharing history with the user B, the indexing information on the content X on the indexing information table of the user B may be modified.
Referring to
Referring to
The control module 980 of the user terminal 1100-1 modifies access authority through the authority management module 985. The control module 985 requests the service providing apparatus 120 to delete the sharing search DB through the index management module 900.
The index management module 900 may guarantee the integrity through an electronic signature in order to prevent falsification of the delete request. The signature has been described above and thus a redundant explanation thereof is omitted. To verify the integrity of the delete request by the electronic signature, an extra message authentication mechanism may be applied when the system is designed.
Finally, the control module 1120f of the service providing apparatus 120 may delete the sharing indexing information on the content X for the user B from the search DB. When a signature is added in this process, the service providing apparatus 120 may identify the integrity through the signature module 1120a.
Referring to
The indexing determination module 910 determines a content type from the content, and transmits the determined type to the keyword extraction module 920.
The keyword extraction module 920 extracts an indexing target from the content according to the content type, and transmits the extracted result to the search encryption module 930.
The search encryption module 930 may generate a delete token and output the delete token. The delete token may be used to delete the indexing information related to the content in the encrypted search DB. The delete token may be configured differently according to an applied search encryption algorithm, and searchable symmetric encryption with dynamic updating may be applied. The delete token may be configured by a combination of the indexing target and an authority key.
The original URI provided through the index management module 900 is encrypted through the data encryption module 940. AES, etc. may be used as an encryption algorithm in the data encryption module 940.
The signature module 950 generates an electronic signature for the encrypted URI and the delete token. The electronic signature guarantees the integrity of data which is transmitted until the relevant data is transmitted to the control module 1120f of the service providing apparatus 120 of
The key storage module 960 may store and manage a key for search encryption, data encryption, and electronic signature.
The indexing information generated to delete the content X by the process shown in
The indexing information of
When the integrity is identified, the search encryption module 1120b updates the search DB with indexing information of a format shown in
In
Referring to
For example, when the user terminal 1100-1 searches indexing information in the search DB, a different access authority may be applied according to a characteristic, a location, and a context of the device. The characteristic of the device indicates whether the device is a fixed device or a mobile device, and the location indicates whether the device is located in a house, school, office, or public place.
For example, when the user terminal 1100-1 receives indexing information on content of the user terminal 2100-2, the user terminal 1100-1 may determine whether the user terminal 1100-1 and the user terminal 2100-2 are located in the same space through peer-to-peer (P2P) communication, for example, short-range communication such as Bluetooth and Wi-Fi, and show all of the search results. In addition, when the user terminal 1100-1 is located in a public place, the user terminal 1100-1 may limit some of the search results.
Referring to
When the user terminal 2100-2 is located within a radius where a remote control is possible, in addition to through P2P, the user terminal 2100-2 may directly receive the content. Also, any method by timing synchronization function (TSF) may be applied. The TSF refers to a communication method which uses a periodic beacon frame. For example, since a channel is opened due to the period beacon frame, it may be easy to receive the content.
Referring to
Various examples of this case may be provided. For example, since the user terminal 1100-1 such as a wearable device is designated according to a service registered by the user, the user terminal 1100-1 may provide a voice query to use the service. However, since the content X is stored in the user terminal 2100-2, the search results may be provided to a device which is registered at the search DB. This may be because the search results are set to be shown based on the user terminal 2100-2 in which the content is stored.
Referring to
When the user wishes to view original content, the current device of the user transmits a command to a second external device connected with the turned-off device, such as an access point. The external device transmits an on command (or a limited time) and an index to the turned-off first external device. When the first external device is turned on, a file related to an index is directly transmitted to a user cloud or a user device, and, when the job finishes, the first external device is turned off again or is turned off after a limited time. When the first external device is programmed to be turned on, the data is automatically transmitted after the device is turned on or a notification may be additionally required.
For example, the user terminal 1100-1 tries to access the user terminal 2100-2 based on URI information of indexing information received from the service providing apparatus 120, but may be notified that the corresponding device is turned off.
In this case, the user terminal 1100-1 may request the user terminal 2100-2 to be turned on. This operation may be performed through a neighboring access point.
Accordingly, the user terminal 1100-1 may receive a photo from the turned on user terminal 2100-2.
Even when the user terminal 2100-2 is turned off, a communication module or other components are maintained in an active state. Therefore, it is possible to turn on the turned off device according to an on request from an external device.
Referring to
For example, when the user terminal 2100-2 requests change or deletion in the user terminal 1100-1, the user terminal 2100-2 may display a list of a plurality of user terminal devices 1100-1 registered by the user on the screen. In response to the user selecting the changed or lost user terminal 1100-2 from the list displayed on the screen, device ID information of the user terminal 1100-1 may be encrypted and provided to the service providing apparatus 120. A signature for verifying the integrity may be added to the encrypted device ID information and transmitted, or an extra authentication protocol may be used.
The service providing apparatus 120 may change or delete indexing information on all of the content having the corresponding device ID (i.e., encrypted indexing information) in the search DB based on the encrypted device ID information received from the user terminal 2100-2.
Referring to
The user terminal 100 understands the location of the device being in use by the user and determines whether the device is located in an office or home, and then determines the security level of a file created in the office and a file created at home as shown in view (a) of
In addition, the security level may be determined according to user's selection as shown in view (a) of
The user may determine the security level by selecting the security level through a security level select item 3500 as shown in view (a) of
In addition, the security level may be determined according to the report form as shown in
All of the relevant data may serve as meta information, but, even when the data is not generated as meta information, the security level may be directly determined when it is determined according to the security policy. Therefore, the various embodiments of the present disclosure are not limited to the method of determining the security level using the meta information.
Referring to
In addition, the user terminal 1100-1 converts a received voice query to correspond to search tem information of the search DB, encrypts the converted voice query, and uses the encrypted voice query, and thus can receive contents stored in various kinds of user terminals 2100-2. The encrypted voice query may be a token.
For example, when the user generates a voice query saying “please show me the photo taken last year” as shown in
Referring to
Referring to
To achieve this, the user terminal 1100-1 or the user terminal 2100-2 may determine the context of the device prior to displaying the received search result values on the screen. For example, the user terminal 1100-1 or the user terminal 2100-2 additionally determines whether it is connected with an external device and whether the external device is a public device such as a TV as a result of identifying device information, and processes the search result values such that the general search result is displayed on the public device.
Referring to
Even when various devices of the same user are designated as search devices, the public device does not display content having a high security level considering the security level of the public device.
Referring to
For example, when the user generates a query saying “please show me the movie that I saw last time,” the service providing apparatus 120 extracts indexing information from the search DB using the search token on the corresponding query, and provides the indexing information to the user terminal 1100-1. The user terminal 1100-1 may generate the search results using meta information in the indexing information, and may show the search result “Your PC has the movie.” by analyzing the search result.
Referring to
For example, when authority to access a dashboard camera image of a car from among a plurality of user terminals 2100-2 is given, the user terminal 1100-1 can access corresponding material from the corresponding device or the service providing apparatus 120.
Referring to
Only the partial image is provided when the content is not identified as being stored in the search device.
Referring to
For example, when the authentication is completed, the service providing apparatus 120 extracts indexing information which is searched using the search term information of the corresponding token in the search DB through a search engine 4420, and provides the indexing information to the user terminal 1100-1 again.
Referring to
To register a password, the user stores the password through the authentication management module 1120c. The authentication management module 1120c stores a hashed password in the storage 1020. In this case, the hashed password may be stored as an MAC generated by a user's secret key or a signature generated by a user's public key to prevent falsification.
When the password is stored, the authentication management module 1120c may receive a user input password to authenticate the user. The authentication management module 1120c accesses the hashed password stored in the storage 1020 and compares the hash of the input password and the stored password. In this process, when the MAC or signature is used, the validity may be verified. When the hash values are identical, the authentication management module 1120c determines that the user is a valid user.
In addition, to restrict access by an unauthorized user terminal 100, the authentication management module 1120c shares a key with the control module 1120f or the index management module 1120e as a server agent in advance, and authenticates the device ID with the server agent using the key. The server agent may identify access authority of the authenticated user terminal 100 through a device access control list. The list may be generated by the user, and may be prevented from being falsified using the MAC or signature when the list is stored in the server (i.e., the storage 1020). The devices in the list are defined as a group and the group may be controlled to have the same access authority. The authority may be defined for each device.
In this case, referring to
Up to now, the user/device authenticating process performed in the service providing apparatus 120 has been described. However, a separate user/device authentication method may be applied according to a system designer, and the authentication may be performed in the user terminal 100. Therefore, the various embodiments of the present disclosure are not limited to the above-described explanations.
Referring to
The user terminal 100 generates indexing information for searching the stored content through the search DB of the service providing apparatus 120 at operation S4710. When the user terminal 100 subscribes to a service for storing the indexing information in the service providing apparatus 120 and using, the user terminal 100 detects a request for generation of the indexing information when storing the contents, and provides a user interface (UI) screen for the user and thus asks the user whether to generate the indexing information through the UI screen. When the user agrees to generate the indexing information, the user terminal 100 may generate indexing information related to the stored content.
To generate the indexing information, the user terminal 100 obtains a location where the content is stored, that is, address information, generates meta data using the content, determines a security level according to a security policy with reference to the meta data generated according to a content type, and generates security information. In addition, the user terminal 100 determines an indexing target according to the content type, extracts a target value corresponding to the determined indexing target, and generates search term information. In this case, the indexing target may be referred to as keyword information and the keyword information may be included in the meta data.
The user terminal 100 encrypts the indexing information which is generated in the above-described process at operation S4720. For example, the user terminal 100 encrypts the URI information (i.e., the address information) encrypts the meta information, and encrypts keyword information, but may not encrypt the security information since the security information is already in a state in which falsification is prevented. In addition, the indexing information may further include signature information to prevent falsification in the process of being transmitted to the service providing apparatus 120.
The user terminal 100 provides the encrypted indexing information to the service providing apparatus 120 in operation S4730.
The indexing information on a certain content X stored in the service providing apparatus 120 may be stored in the users' respective indexing information table.
In addition, the indexing information stored in the search DB of the service providing apparatus 120 may be used for various operations, such as searching the indexing information for searching the content of the user, modifying the indexing information to share the content, and deleting the indexing information to delete the content. These operations have been fully described above and thus a detailed description thereof is omitted.
Referring to
The service providing apparatus 120 may verify the validity of the encrypted indexing information at operation S4810. The validity may be verified based on an electronic signature or may be verified by a separate verification process using an authentication protocol. Prior to verifying the validity, the service providing apparatus 120 may additionally authenticate the user/device of the user terminal 100.
When the validity is verified, the service providing apparatus 120 stores the encrypted indexing information for each user in the search DB at operation S4820.
When an indexing information table for a certain content X is generated, the service providing apparatus 120 may perform various operations such as searching indexing information according to a user's request, changing indexing information, and deleting indexing information. These operations have been fully described above and thus a detailed explanation thereof is omitted.
Although all of the elements of the various embodiments of the present disclosure are described as being combined into a single element or being operated in combination, the present disclosure is not necessarily limited to these embodiments. One or more elements of all of the elements may be selectively combined and operated within the scope of the object of the present disclosure. In addition, each of the elements may be implemented by a single piece of independent hardware, but some or all of the elements may be selectively combined and may be implemented as a computer program having a program module for performing a part or entirety of the combined functions in a single piece of hardware or a plurality of pieces of hardware. Codes and code segments constituting the computer program may be easily inferred by a person skilled in the art. The computer program may be stored in a non-transitory computer readable medium, and is read and executed by the computer and thus implements the various embodiments of the present disclosure.
The non-transitory computer readable medium refers to a medium that stores data semi-permanently rather than storing data for a very short time, such as a register, a cache, a memory or etc., and is readable by an apparatus. Specifically, the above-described programs may be stored in the non-transitory computer readable medium, such as a compact disc (CD), a digital versatile disc (DVD), a hard disk, a Blu-ray disc, a universal serial bus (USB), a memory card, a ROM etc.
While the present disclosure has been shown and described with reference to various embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present disclosure as defined by the appended claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
10-2014-0191775 | Dec 2014 | KR | national |