Operation method of system for providing individual message security service using user-defined password in a hybrid encryption system
Patent Information
- Application Number
- KR1020250014067
- Authority / Receiving Office
- KR · KR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-02-04
- Publication Date
- 2026-08-11
Smart Images

Figure PAT00001_ABST
Abstract
Description
Technology Field
[0001] The present disclosure relates to a method of operation of a system, and more specifically, to a method of operation of a system that provides strong security features by combining a symmetric key-based encryption technique and an asymmetric key-based encryption technique during the message transmission process between a sender and a receiver, and enables only authorized users to view the message content through password-based decryption. Background Technology
[0002] With the recent advancements in smartphones and the Internet, communication via messenger services has become an essential part of daily life. Individual and corporate users exchange various sensitive information, such as addresses, resident registration numbers, and financial details, through commercial messenger services. Consequently, the importance of information security has significantly increased, and various security technologies are being applied to protect users' personal information.
[0003] Major existing messenger services protect message content by adopting End-to-End Encryption (E2EE). End-to-End Encryption encrypts the entire chat room and stores encrypted chat records only on the user's device, rather than on the server; this method is effective in protecting user privacy from attempts to steal data from the server through hacking. In particular, existing messenger services provide a high level of security in terms of technical safety by adopting this technology.
[0004] However, while current end-to-end encryption methods focus on protecting users from technical security threats such as hacking, they lack adequate responses to one-dimensional information theft, such as phishing attacks that steal sensitive information via messages by impersonating acquaintances. These phishing attacks often rely on users' vigilance and can cause greater anxiety among general users. Therefore, a new security solution is needed to prevent primitive attempts at information theft that require users to respond directly.
[0005] In addition, existing secret chat services require the creation of separate chat rooms to enhance security, making it cumbersome to immediately protect sensitive information during everyday conversations. From the user's perspective, there is a need for more practical and flexible security features that allow for the selective encryption of specific information to protect it only when necessary.
[0006] To address the aforementioned issues, it is necessary to propose a technology that selectively encrypts only specific characters containing sensitive information, instead of the existing method of encrypting the entire chat room. Through this technology, users can instantly configure security only when necessary, and the recipient must enter a set password to view the content. This is expected to prevent rudimentary attempts at information theft, such as phishing attacks, and provide a more user-friendly security solution.
[0007] - Project Name: 2024 Regional University Revitalization (Glocal University)-062
[0008] - Period: 2024.03.01~2025.02.28 Prior art literature
[0009] Published Patent Application No. 10-2024-0165812 The problem to be solved
[0010] The present disclosure aims to provide a method of operation for a system that combines symmetric key-based encryption and asymmetric key-based encryption techniques during the message transmission process between a sender and a receiver to provide strong security features, and enables only authorized users to view the message content through password-based decryption.
[0011] The purposes of the present disclosure are not limited to those mentioned above, and other purposes and advantages of the present disclosure not mentioned may be understood from the following description and will be more clearly understood from the embodiments of the present disclosure. Furthermore, it will be readily apparent that the purposes and advantages of the present disclosure can be realized by the means and combinations thereof set forth in the claims. means of solving the problem
[0012] A method of operation of a system according to one embodiment of the present disclosure comprises: a step in which a sender terminal obtains a message to be transmitted to a receiver terminal and a first password for said message through user input of the sender; a step in which the sender terminal encrypts said message; a step in which the sender terminal transmits said encrypted message to said receiver terminal; and a step in which the receiver terminal obtains a second password through user input of the receiver, and if said second password matches said first password, the encrypted message is decrypted.
[0013] In addition, the method of operation of the above system may include the step of the receiver terminal generating a public key and a private key according to the RSA (Rivest-Shamir-Adleman) algorithm, and the step of the receiver terminal transmitting information about the generated public key to the sender terminal.
[0014] At this time, the step of encrypting the acquired message may involve generating a first key based on the first password, encrypting the message using the generated first key, and encrypting the generated first key using the public key.
[0015] Here, the step of transmitting the encrypted message to the receiver terminal involves transmitting the encrypted message and the encrypted first key to the receiver terminal, and the step of decrypting the encrypted message involves generating a second key using the second password, decrypting the encrypted first key using the private key, and if the decrypted first key matches the second key, decrypting the encrypted message using the decrypted first key.
[0016] Meanwhile, the step of encrypting the acquired message may involve generating a first key according to the AES (Advanced Encryption Standard) algorithm, encrypting the message using the generated first key, and encrypting the generated first key using the public key.
[0017] At this time, the step of transmitting the encrypted message to the receiver terminal may involve obtaining a first hash value for the first password through a hash function, and transmitting the obtained first hash value, the encrypted message, and the encrypted first key to the receiver terminal.
[0018] At this time, the step of decrypting the encrypted message may involve obtaining a second hash value for the second password through a hash function, and if the first hash value and the second hash value match, decrypting the encrypted first key using the private key, and decrypting the encrypted message using the decrypted first key.
[0019] Meanwhile, the method of operation of the above system may include the step of the receiver terminal executing a copy prevention mode for the decrypted message and executing a capture prevention mode while displaying the decrypted message.
[0020] Meanwhile, the method of operation of the above system may include the step of the receiver terminal re-encrypting the decrypted message when a preset time has elapsed since the time when the encrypted message was decrypted.
[0021] A method of operation of a system according to one embodiment of the present disclosure comprises: a step in which a sender terminal obtains a message to be transmitted to a receiver terminal and a first password for said message through user input of the sender; a step in which the sender terminal encrypts said message; a step in which the sender terminal transmits said encrypted message to said receiver terminal through a server; a step in which the server obtains a second password through user input received from said receiver terminal; a step in which, if said first password and said second password match, the server approves said receiver terminal's access to said encrypted message; and a step in which said receiver terminal decrypts said encrypted message.
[0022] A method of operation of a sender terminal according to one embodiment of the present disclosure comprises: receiving information regarding a public key from a receiver terminal; obtaining a message to be transmitted to the receiver terminal and a first password for said message through user input of the sender; generating a first key according to an AES (Advanced Encryption Standard) algorithm, encrypting said obtained message using said generated first key and encrypting said first key using said public key; and transmitting said encrypted message and said encrypted first key to said receiver terminal.
[0023] A method of operation of a receiver terminal according to one embodiment of the present disclosure comprises: generating a public key and a private key according to an RSA algorithm and transmitting information regarding the generated public key to a sender terminal; receiving an encrypted first key and an encrypted message from the sender terminal; obtaining a second password through user input of the receiver; if the first password for the encrypted message matches the obtained second password, decrypting the encrypted first key using the private key; and decrypting the encrypted message using the decrypted first key. Effects of the invention
[0024] Through the present disclosure, the confidentiality of a message can be effectively maintained by encrypting the message using a password entered by the sender and ensuring that the recipient can decrypt it only by entering the same password.
[0025] In addition, through the present disclosure, by using a combination of public key-based RSA encryption and symmetric key-based AES encryption, secure transmission of the key and efficient encryption of the message can be achieved simultaneously.
[0026] In addition, through the present disclosure, by providing functions to prevent screen capturing and copying of decrypted messages and to automatically re-encrypt decrypted messages, it is possible to prevent illegal information leakage while the recipient checks the message and enhance security. Brief explanation of the drawing
[0027] FIG. 1 is a drawing for explaining the operation of a system according to one embodiment of the present disclosure. FIG. 2 is a diagram illustrating the operation of a sender terminal encrypting an original message according to one embodiment of the present disclosure. FIG. 3 is a diagram illustrating the operation of a recipient terminal decrypting an encrypted message into an original message according to one embodiment of the present disclosure. FIGS. 4a to 4c are drawings illustrating an exemplary UI provided to a sender or receiver through a sender terminal or receiver terminal according to an embodiment of the present disclosure. FIG. 5 is a diagram illustrating the configuration of a system according to another embodiment of the present disclosure. FIG. 6 is a flowchart for explaining the operation of a caller terminal according to one embodiment of the present disclosure. FIG. 7 is a flowchart for explaining the operation of a receiver terminal according to one embodiment of the present disclosure. Specific details for implementing the invention
[0028] Before specifically describing the present disclosure, the method of description in the specification and drawings is described.
[0029] First, the terms used in this specification and claims have been selected based on general terms considering their functions in the various embodiments of this disclosure. However, these terms may vary depending on the intent of those skilled in the art, legal or technical interpretations, and the emergence of new technologies. Additionally, some terms have been arbitrarily selected by the applicant. Such terms may be interpreted according to the meanings defined in this specification; in the absence of specific definitions, they may be interpreted based on the overall content of this specification and common technical knowledge in the relevant field.
[0030] In addition, the same reference numbers or symbols described in each drawing attached to this specification represent parts or components that perform substantially the same function. For convenience of explanation and understanding, the same reference numbers or symbols are used to describe different embodiments. That is, even if components having the same reference number are all depicted in multiple drawings, the multiple drawings do not imply a single embodiment.
[0031] Additionally, in this specification and claims, terms including ordinal numbers, such as "first," "second," etc., may be used to distinguish between components. These ordinal numbers are used to distinguish identical or similar components from one another, and the meaning of the terms should not be limited by the use of such ordinal numbers. For example, the order of use or arrangement of components combined with such ordinal numbers should not be restricted by the number. If necessary, each ordinal number may be used interchangeably.
[0032] In this specification, singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, terms such as "comprising" or "consisting of" are intended to specify the existence of the features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, and should be understood as not precluding the existence or addition of one or more other features, numbers, steps, actions, components, parts, or combinations thereof.
[0033] In the embodiments of the present disclosure, terms such as "module," "unit," "part," etc. are used to refer to a component that performs at least one function or operation, and such component may be implemented in hardware or software, or in a combination of hardware and software. Additionally, a plurality of "modules," "units," "parts," etc. may be integrated into at least one module or chip and implemented as at least one processor, except where each needs to be implemented in specific individual hardware.
[0034] Furthermore, in the embodiments of the present disclosure, when a part is described as being connected to another part, this includes not only a direct connection but also an indirect connection through another medium. Additionally, the meaning that a part includes a certain component implies that, unless specifically stated otherwise, it does not exclude other components but may include additional components.
[0035] FIG. 1 is a drawing for explaining the operation of a system according to one embodiment of the present disclosure.
[0036] Referring to FIG. 1, the system (1000) may include a sender terminal (100) and a receiver terminal (200).
[0037] The sender terminal (100) corresponds to the sender's terminal that transmits the message, and the receiver terminal (200) corresponds to the receiver's terminal that receives the message.
[0038] Each of the sender terminal (100) and the receiver terminal (200) may be implemented as a terminal device such as a desktop PC, laptop PC, tablet PC, smartphone, or wearable device, but is not limited thereto.
[0039] The sender terminal (100) can obtain a message to be transmitted to the receiver terminal (200) and a first password for the message through the sender's user input (S110).
[0040] In one embodiment, when the sender terminal (100) identifies through the sender's user input that the sender has requested the transmission of a message to which an encryption mode is applied, it may obtain authentication information including a first password for the message and a hint for the first password.
[0041] The encryption mode refers to a mode that encrypts a message so that the recipient can verify the message only when the password (: first password) set by the sender of the sender terminal (100) for the message matches the password (: second password) entered by the recipient of the recipient terminal (200) that received the message.
[0042] At this time, the sender terminal (100) may selectively apply an encryption mode to at least one of the multiple messages transmitted from the sender terminal (100) to the receiver terminal (200).
[0043] Here, a message may refer to data transmitted via SMS (Short Message Service), MMS (Multimedia Messaging Service), messenger applications, etc.
[0044] The sender terminal (100) can encrypt the message (S120).
[0045] To this end, the recipient terminal (200) can generate a public key and a private key according to the RSA (Rivest-Shamir-Adleman) algorithm and transmit information about the public key to the sender terminal (100).
[0046] The RSA algorithm is an algorithm for asymmetric encryption that generates a public key and private key pair based on modular arithmetic by randomly selecting and multiplying two prime numbers, encrypts data using the public key, and can decrypt the encrypted data using the private key that is paired with the public key.
[0047] Here, the public key is a key that can be shared with everyone and can be used to encrypt data, and the private key is a key that must be kept secret and can be used to decrypt encrypted data using the public key that is symmetric to the private key.
[0048] Accordingly, the recipient terminal (200) can transmit information about the public key to the sender terminal (100) so that the sender terminal (100) can encrypt data using the public key.
[0049] In one embodiment, the sender terminal (100) can generate a first key based on a first password and encrypt a message using the generated first key.
[0050] For example, a sender terminal (100) can obtain a first key from a first password through a Key Derivation Function (KDF). At this time, the first key can be used as a symmetric key for application to a symmetric key encryption algorithm.
[0051] Additionally, the sender terminal (100) can encrypt the first key using the public key received from the receiver terminal (200).
[0052] As an additional example of implementation, if the message includes an image, the sender terminal (100) may use an OCR (Optical Character Recognition) API to identify areas where text exists on the image and mask the identified areas to encrypt the image.
[0053] For example, the sender terminal (100) can mask the area where text exists on the image by using methods such as adjusting the transparency of the image (e.g., changing the alpha channel value) or steganography, which hides data for the identified area in the image's LSB (Least Significant Bit). Here, each of the multiple pixels constituting the image is composed of RGB color channels, each color channel is represented by 8 bits, and the lowest bit in each color channel corresponds to the image's LSB.
[0054] The sender terminal (100) can transmit an encrypted message (S130).
[0055] In one embodiment, the sender terminal (100) can transmit an encrypted message and an encrypted first key to the receiver terminal (200), and if a hint for a first password is identified from the authentication information, the hint for the first password can be transmitted to the receiver terminal (200) together with the encrypted message and the encrypted first key.
[0056] The recipient terminal (200) can obtain a second password through the recipient's user input (S140).
[0057] In one embodiment, the recipient terminal (200) provides a hint for the first password to the recipient and can obtain the second password through the recipient's user input.
[0058] The recipient terminal (200) can decrypt the encrypted message if the first password and the second password match (S150).
[0059] In one embodiment, the recipient terminal (200) generates a second key based on the second password, decrypts the encrypted first key using the private key, and can identify whether the first password and the second password match based on whether the second key and the decrypted first key match.
[0060] For example, the recipient terminal (200) can obtain a second key from a second password through a key derivation function. Here, the key derivation function applied to the first password to obtain the first key and the key derivation function applied to the second password to obtain the second key correspond to the same function.
[0061] Accordingly, the recipient terminal (200) can obtain a second key identical to the decrypted first key when the first password and the second password match, and thereby, if the decrypted first key and the second key match, it can identify that the first password and the second password match and decrypt the encrypted message using the decrypted first key.
[0062] Here, if the encrypted message contains a masked image, the recipient terminal (200) can unmask to restore the original.
[0063] For example, if the image is masked based on transparency control (e.g., changing the alpha value of the image), the receiver terminal (200) can restore the alpha value to obtain the original image, and if the image is masked based on steganography, the receiver terminal (200) can obtain the hidden data on the LSB of the image to restore the image.
[0064] In addition, the recipient terminal (200) may attempt to decrypt the encrypted message using a second key generated based on the second password.
[0065] In this case, the recipient terminal (200) can decrypt the encrypted message using the second key if the first password and the second password match, and cannot decrypt the encrypted message using the second key if the first password and the second password do not match.
[0066] FIG. 2 is a diagram illustrating the operation of a sender terminal encrypting an original message according to one embodiment of the present disclosure.
[0067] Referring to FIG. 2, the sender terminal (100) can encrypt the original message using a first key.
[0068] In one embodiment, the sender terminal (100) can generate a first key according to the Advanced Encryption Standard (AES) algorithm.
[0069] The AES algorithm is a symmetric encryption algorithm that generates a single symmetric key, encrypts data using the generated key, and allows the encrypted data to be decrypted using the symmetric key.
[0070] At this time, the sender terminal (100) can encrypt the original message obtained through the sender's user input using the first key.
[0071] In addition, the sender terminal (100) can encrypt the first key using the public key received from the receiver terminal (200).
[0072] In this case, the sender terminal (100) can obtain a first hash value for the first password through a hash function and transmit the first hash value, an encrypted message (using the first key), and the first key (using the public key) to the receiver terminal (200).
[0073] A hash function takes data of arbitrary size as input and outputs a hash value of a fixed size according to specific rules. This hash value corresponds to a value that can uniquely identify the data input to the hash function, and it has a fixed length regardless of the size of the data.
[0074] Here, the hash function and hash value can be designed so that when the same data is input into the hash function, the same hash value is always output, and it is impossible to recover the data through the hash value.
[0075] FIG. 3 is a diagram illustrating the operation of a recipient terminal decrypting an encrypted message into an original message according to one embodiment of the present disclosure.
[0076] Referring to FIG. 3, the receiver terminal (200) can decrypt the encrypted first key using a public key and decrypt the encrypted message into the original message using the decrypted first key.
[0077] Here, the receiver terminal (200) can identify whether the first password and the second password match before decrypting the encrypted first key using the public key.
[0078] Specifically, the recipient terminal (200) obtains a second hash value for the second password through a hash function, and compares the second hash value with the first hash value received from the sender terminal (100). If the first hash value and the second hash value match, it identifies that the first password and the second password match, and if the first hash value and the second hash value do not match, it identifies that the first password and the second password do not match.
[0079] Accordingly, the receiver terminal (200) may decrypt the encrypted first key using the public key if the first hash value and the second hash value match, and may not decrypt the encrypted first key using the public key if the first hash value and the second hash value do not match.
[0080] Accordingly, if the first hash value and the second hash value do not match, the receiver terminal (200) is unable to perform the operation of decrypting the encrypted message into the original message.
[0081] Additionally, when a reply message to an encrypted (original) message is obtained through user input of the recipient, the recipient terminal (200) can determine whether to encrypt the reply message based on the similarity between the original message and the reply message.
[0082] In one embodiment, if the similarity between at least one keyword extracted from the original message and at least one keyword extracted from the reply message exceeds a threshold, the recipient terminal (200) can encrypt the reply message and transmit it to the sender terminal (100).
[0083] To this end, the receiver terminal (200) can extract multiple words from a message, convert each extracted word into a vector form, and identify the frequency of occurrence of words and the degree of association between words based on the vector of each word to extract at least one keyword.
[0084] Specifically, the receiver terminal (200) determines that the closer the distance between vectors, the higher the frequency of co-occurrence, and determines that the smaller the angle between vectors, the higher the correlation, and thus can identify words that have a high frequency of co-occurrence and high correlation within the message through the vectors of each word as keywords.
[0085] Accordingly, the recipient terminal (200) can calculate the similarity between at least one keyword extracted from the original message and at least one keyword extracted from the reply message.
[0086] Additionally, the recipient terminal (200) may calculate the similarity between the original message and the reply message without extracting keywords.
[0087] For example, the recipient terminal (200) can extract keywords from messages or calculate similarity between messages based on various algorithms such as cosine similarity, Jaccard similarity, edit distance, and TF-IDF (Term Frequency-Inverse Document Frequency).
[0088] Additionally, if the original message or the reply message includes an image, the recipient terminal (200) can extract text included in the image using an OCR (Optical Character Recognition) API. At this time, the recipient terminal (200) can calculate the similarity between the original message and the reply message by including the text extracted from the image.
[0089] In addition, even if the similarity between at least one keyword extracted from the original message and at least one keyword extracted from the reply message, or the similarity between the original message and the reply message, is below a threshold, if the keywords extracted from the reply message include a keyword that matches a pre-set security keyword (e.g., secret, address, resident registration number, etc.), the recipient terminal (200) can encrypt the reply message and transmit it to the sender terminal (100).
[0090] Here, when the recipient terminal (200) decrypts the encrypted (original) message by identifying that the first password and the second password match, the recipient terminal (200) can set the second password as the password for the reply message.
[0091] Specifically, the recipient terminal (200) can generate a second key according to the AES algorithm and encrypt a reply message using the second key.
[0092] As the sender terminal (100) generates a public key and a private key in advance according to the RSA algorithm and transmits information about the public key generated by the sender terminal (100) to the receiver terminal (200), the receiver terminal (200) can encrypt the second key using the public key received from the sender terminal (100).
[0093] At this time, the recipient terminal (200) can transmit a second hash value for the second password, an encrypted reply message, and an encrypted second key to the sender terminal (100).
[0094] Accordingly, the sender terminal (100) that receives the encrypted reply message can obtain a third password through the sender's user input, and if it is identified that the second password and the third password match, it can decrypt the encrypted reply message.
[0095] Specifically, the sender terminal (100) that receives the encrypted reply message can obtain a third password through the sender's user input and obtain a third hash value for the third password through a hash function.
[0096] Accordingly, if the second hash value and the third hash value match, the sender terminal (100) can decrypt the encrypted second key using the private key generated by the sender terminal (100), and decrypt the encrypted reply message using the decrypted second key.
[0097] Here, the sender terminal (100) can obtain a third password through the sender's user input after providing the sender with a phrase requesting the input of a password for the original message.
[0098] As a result, when a reply message similar to the message sent to the recipient in an encrypted state by the sender, who determined that security needs to be maintained, is obtained, the recipient terminal (200) automatically encrypts and sends it to the sender, thereby preventing information leakage that may occur due to the recipient's error in judgment.
[0099] FIGS. 4a to 4c are drawings illustrating an exemplary UI provided to a sender or receiver through a sender terminal or receiver terminal according to an embodiment of the present disclosure.
[0100] FIG. 4a is a diagram illustrating an exemplary User Interface (UI) in which an encrypted message is displayed through each of the sender terminal (100) and the receiver terminal (200).
[0101] Referring to FIG. 4a, the encrypted message can be displayed as a secret message on the sender terminal (100) and the receiver terminal (200) and provided to the sender and the receiver.
[0102] In one embodiment, when the transmission of a message with an encryption mode applied is requested through the sender's user input, and the message and authentication information for the message (a first password and a hint for the first password) are entered through the sender's user input, the sender terminal (100) encrypts the message obtained through the sender's user input and transmits it to the receiver terminal (200), and can also provide the message to the sender by displaying it in an encrypted state (e.g., “secret message”) on the screen of the sender terminal (100).
[0103] FIG. 4b is a diagram illustrating an exemplary UI displayed on a recipient terminal (200) to obtain a second password.
[0104] Referring to FIG. 4b, the recipient terminal (200) can provide the recipient with a UI including a UI item for obtaining a second password and a hint for the first password.
[0105] FIG. 4c is a diagram illustrating an exemplary UI in which a decrypted message is displayed on a receiver terminal (200).
[0106] Referring to FIG. 4c, if the recipient terminal (200) identifies that the first password set for the encrypted message matches the second password obtained through the recipient's user input, it can decrypt the encrypted message and provide it to the recipient.
[0107] In addition, the recipient terminal (200) can execute a copy protection mode for the decrypted message.
[0108] In one embodiment, the recipient terminal (200) can execute a copy protection mode using an API (Application Programming Interface).
[0109] For example, the recipient terminal (200) may disable the clipboard function on the UI where the decrypted message is provided so that the decrypted message cannot be added to the clipboard while the UI where the decrypted message is displayed is provided, restrict text access on the UI where the decrypted message is provided so that the decrypted message cannot be selected, or set the decrypted message to read-only to execute a copy protection mode for the decrypted message.
[0110] Additionally, the receiver terminal (200) can execute a capture prevention mode while displaying the decrypted message.
[0111] In one embodiment, the recipient terminal (200) can execute a capture prevention mode using an API.
[0112] For example, while a UI is provided in which a decrypted message is displayed, the recipient terminal (200) may execute a capture prevention mode that disables the screenshot function of the recipient terminal (200) or modifies the screenshot image (e.g., modifies it into a solid color image) and saves it.
[0113] Additionally, the receiver terminal (200) can re-encrypt the decrypted message when a preset time has elapsed since the time the encrypted message was decrypted.
[0114] Specifically, the recipient terminal (200) can re-encrypt the decrypted message using the first key (which was decrypted using a private key) when a preset time has elapsed since the time the encrypted message was decrypted.
[0115] Accordingly, when decryption of a message that has been re-encrypted is requested through the user input of the recipient, the recipient terminal (200) obtains a third password through the user input of the recipient, and if the third password and the first password match, the message that has been re-encrypted can be decrypted using the first key (which has been decrypted using the private key).
[0116] FIG. 5 is a diagram illustrating the configuration of a system according to another embodiment of the present disclosure.
[0117] Referring to FIG. 5, the system (1000) may include a sender terminal (100), a receiver terminal (200), and a server (300).
[0118] The server (300) can mediate the transmission and reception of messages between the sender terminal (100) and the receiver terminal (200), and can be implemented as a server device or system including at least one computer.
[0119] In one embodiment, the sender terminal (100) obtains a message to be transmitted to the receiver terminal (200) and a first password for the message through the sender's user input, and encrypts the obtained message and transmits the encrypted message to the receiver terminal (200) through the server (300).
[0120] Specifically, the sender terminal (100) can generate a first key according to the AES algorithm and encrypt a message using the first key. Additionally, as the receiver terminal (200) transmits information about a public key generated according to the RSA algorithm to the sender terminal (100) in advance, the sender terminal (100) can encrypt the first key using the public key.
[0121] At this time, the sender terminal (100) can obtain a first hash value for the first password through a hash function, transmit the first hash value to the server (300), and transmit an encrypted message and an encrypted first key to the receiver terminal (200) through the server (300).
[0122] Here, the server (300) can obtain a second password through user input of the recipient received from the recipient terminal (200) and obtain a second hash value for the second password through a hash function.
[0123] Accordingly, the server (300) can identify whether the first password and the second password match. Specifically, the server (100) can identify that the first password and the second password match if the first hash value and the second hash value match, and can identify that the first password and the second password do not match if the first hash value and the second hash value do not match.
[0124] At this time, the server (300) may approve access to the recipient terminal (200) for the encrypted message if the first password and the second password match, and may reject access to the recipient terminal (200) for the encrypted message if the first password and the second password do not match.
[0125] Accordingly, the recipient terminal (200) can decrypt the encrypted message only when access to the encrypted message is approved.
[0126] Specifically, when access to the encrypted message is approved, the recipient terminal (200) can decrypt the encrypted first key using a private key and decrypt the encrypted message using the decrypted first key.
[0127] FIG. 6 is a flowchart for explaining the operation of a caller terminal according to one embodiment of the present disclosure.
[0128] The sender terminal (100) may include memory, a processor, a communication interface, an input interface, an output interface, etc.
[0129] The memory is configured to store an operating system (OS) for controlling the overall operation of the components of the sender terminal (100) and at least one instruction or data related to the components of the sender terminal (100).
[0130] Memory may include non-volatile memory such as ROM and flash memory, and may include volatile memory composed of DRAM, etc. In addition, memory may include hard disks, SSDs (Solid state drives), etc.
[0131] The processor is configured to control the sender terminal (100) overall.
[0132] In one embodiment, the processor may control a random number generation module, a key generation module, a hashing module, an encryption module, etc. Each of these modules may correspond to a functional unit module implemented in software and / or hardware.
[0133] A random number generation module refers to a module that generates the random numbers necessary for a key generation module to generate a key. For example, a random number generation module can generate random numbers based on algorithms such as PRNG (Pseudorandom Number Generator) or CSPRNG (Cryptographically Secure Pseudorandom Number Generator).
[0134] A key generation module refers to a module that generates a key necessary to encrypt data. For example, a key generation module can generate at least one key based on an encryption algorithm (e.g., AES encryption algorithm, RSA encryption algorithm, etc.).
[0135] For example, the key generation module may generate a first key (: symmetric key) for a first password obtained through the sender's user input, or may generate a first key based on a random number generated through a random number generation module.
[0136] A hashing module refers to a module that obtains a hash value for a password. For example, a hashing module can obtain a hash value for a password by converting the password into a fixed size according to specific rules using a hash function.
[0137] An encryption module is a module for encrypting or decrypting data. For example, an encryption module may encrypt or decrypt data according to an asymmetric encryption algorithm (e.g., RSA, etc.) or may encrypt or decrypt data according to a symmetric encryption algorithm (e.g., AES, etc.).
[0138] Specifically, the encryption module may encrypt data according to an asymmetric encryption algorithm using a public key (paired with a private key), and may decrypt data encrypted with the public key using a private key paired with the public key.
[0139] In addition, the encryption module can encrypt data according to a symmetric encryption algorithm using a symmetric key, and can also decrypt data encrypted using the symmetric key.
[0140] The processor may include general-purpose processors such as CPUs (Central Processing Units), APs, and DSPs (Digital Signal Processors), graphics-dedicated processors such as GPUs (Graphic Processor Units) and VPUs (Vision Processing Units), or artificial intelligence-dedicated processors such as NPUs (Neural Processing Units). Artificial intelligence-dedicated processors may be designed with a hardware structure specialized for the training or utilization of specific artificial intelligence models.
[0141] A communication interface is a configuration for performing communication with the outside world.
[0142] The communication interface may include circuits, modules, chips, etc., for performing communication using various wired or wireless communication methods. The communication interface may also be connected to external devices and servers through various networks.
[0143] Depending on the area or scale, a network may be a Personal Area Network (PAN), Local Area Network (LAN), Wide Area Network (WAN), etc., and depending on the openness of the network, it may be an Intranet, Extranet, or Internet, etc.
[0144] The communication interface can be connected to external devices and servers through various wireless communication methods such as LTE (long-term evolution), LTE-A (LTE Advance), 5G (5th Generation) mobile communication, CDMA (code division multiple access), WCDMA (wideband CDMA), UMTS (universal mobile telecommunications system), WiBro (Wireless Broadband), GSM (Global System for Mobile Communications), DMA (Time Division Multiple Access), WiFi (Wi-Fi), WiFi Direct, Bluetooth, BLE (Bluetooth Low Energy), NFC (near field communication), Zigbee, and LoRa.
[0145] In addition, the communication interface may be connected to external devices and servers via wired communication methods such as Ethernet, optical networks, USB (Universal Serial Bus), and Thunderbolt.
[0146] In addition, the communication interface may be configured to utilize various newly devised communication methods / technologies in the future.
[0147] An input interface is a configuration for acquiring user input.
[0148] User input can take various forms, including key input, touch input, and voice input, and the input interface can be implemented using a keypad, keyboard, mouse, touchpad, microphone, etc., but is not limited thereto.
[0149] The output interface is a configuration for visually outputting various images or information.
[0150] For example, the output interface can be implemented as a display to output the UI according to FIG. 4a described above and provide it to the sender.
[0151] Displays can be implemented in the form of flat displays, curved displays, flexible displays, foldable displays, touch displays, etc., and can be implemented as LED (Light Emitting Diode), Micro LED, OLED (Organic Light Emitting Diode), LCD (Liquid Crystal Display), etc., but are not limited thereto.
[0152] Referring to FIG. 6, the sender terminal (100) can receive information about the public key from the receiver terminal (200) (S610).
[0153] The sender terminal (100) can obtain a message to be transmitted to the receiver terminal (200) and a first password for the message through the sender's user input (S620).
[0154] In one embodiment, when the sender terminal (100) identifies through the sender's user input that the sender has requested the transmission of a message to which an encryption mode is applied, it may obtain authentication information including a first password for the message and a hint for the first password.
[0155] The sender terminal (100) can generate a first key according to the AES algorithm, encrypt a message using the first key, and encrypt the first key using a public key (S630).
[0156] The sender terminal (100) can transmit an encrypted message and an encrypted first key to the receiver terminal (200).
[0157] FIG. 7 is a flowchart for explaining the operation of a receiver terminal according to one embodiment of the present disclosure.
[0158] The receiver terminal (200) may include memory, a processor, a communication interface, an input interface, an output interface, etc.
[0159] The memory is configured to store at least one instruction or data related to an operating system (OS) for controlling the overall operation of the components of the receiver terminal (200) and the components of the receiver terminal (200).
[0160] Memory may include non-volatile memory such as ROM and flash memory, and may include volatile memory composed of DRAM, etc. In addition, memory may include hard disks, SSDs (Solid state drives), etc.
[0161] The processor is configured to control the receiver terminal (200) overall.
[0162] In one embodiment, the processor may control a random number generation module, a key generation module, a hashing module, an encryption module, etc. Each of these modules may correspond to a functional unit module implemented in software and / or hardware.
[0163] A random number generation module refers to a module that generates the random numbers necessary for a key generation module to generate a key. For example, a random number generation module can generate random numbers based on algorithms such as PRNG (Pseudorandom Number Generator) or CSPRNG (Cryptographically Secure Pseudorandom Number Generator).
[0164] A key generation module refers to a module that generates a key necessary to encrypt data. For example, a key generation module can generate at least one key based on an encryption algorithm (e.g., AES encryption algorithm, RSA encryption algorithm, etc.).
[0165] For example, the key generation module can generate a public key and a private key based on random numbers generated through the random number generation module.
[0166] A hashing module refers to a module that obtains a hash value for a password. For example, a hashing module can obtain a hash value for a password by converting the password into a fixed size according to specific rules using a hash function.
[0167] An encryption module is a module for encrypting or decrypting data. For example, an encryption module may encrypt or decrypt data according to an asymmetric encryption algorithm (e.g., RSA, etc.) or may encrypt or decrypt data according to a symmetric encryption algorithm (e.g., AES, etc.).
[0168] Specifically, the encryption module may encrypt data according to an asymmetric encryption algorithm using a public key (paired with a private key), and may decrypt data encrypted with the public key using a private key paired with the public key.
[0169] In addition, the encryption module can encrypt data according to a symmetric encryption algorithm using a symmetric key, and can also decrypt data encrypted using the symmetric key.
[0170] The processor may include general-purpose processors such as CPUs (Central Processing Units), APs, and DSPs (Digital Signal Processors), graphics-dedicated processors such as GPUs (Graphic Processor Units) and VPUs (Vision Processing Units), or artificial intelligence-dedicated processors such as NPUs (Neural Processing Units). Artificial intelligence-dedicated processors may be designed with a hardware structure specialized for the training or utilization of specific artificial intelligence models.
[0171] A communication interface is a configuration for performing communication with the outside world.
[0172] The communication interface may include circuits, modules, chips, etc., for performing communication using various wired or wireless communication methods. The communication interface may also be connected to external devices and servers through various networks.
[0173] Depending on the area or scale, a network may be a Personal Area Network (PAN), Local Area Network (LAN), Wide Area Network (WAN), etc., and depending on the openness of the network, it may be an Intranet, Extranet, or Internet, etc.
[0174] The communication interface can be connected to external devices and servers through various wireless communication methods such as LTE (long-term evolution), LTE-A (LTE Advance), 5G (5th Generation) mobile communication, CDMA (code division multiple access), WCDMA (wideband CDMA), UMTS (universal mobile telecommunications system), WiBro (Wireless Broadband), GSM (Global System for Mobile Communications), DMA (Time Division Multiple Access), WiFi (Wi-Fi), WiFi Direct, Bluetooth, BLE (Bluetooth Low Energy), NFC (near field communication), Zigbee, and LoRa.
[0175] In addition, the communication interface may be connected to external devices and servers via wired communication methods such as Ethernet, optical networks, USB (Universal Serial Bus), and Thunderbolt.
[0176] In addition, the communication interface may be configured to utilize various newly devised communication methods / technologies in the future.
[0177] An input interface is a configuration for acquiring user input.
[0178] User input can take various forms, including key input, touch input, and voice input, and the input interface can be implemented using a keypad, keyboard, mouse, touchpad, microphone, etc., but is not limited thereto.
[0179] The output interface is a configuration for visually outputting various images or information.
[0180] For example, the output interface can be implemented as a display to output the UI according to FIG. 4a described above and provide it to the sender.
[0181] Displays can be implemented in the form of flat displays, curved displays, flexible displays, foldable displays, touch displays, etc., and can be implemented as LED (Light Emitting Diode), Micro LED, OLED (Organic Light Emitting Diode), LCD (Liquid Crystal Display), etc., but are not limited thereto.
[0182] Referring to FIG. 7, the recipient terminal (200) can generate a public key and a private key according to the RSA algorithm and transmit information about the public key to the sender terminal (100) (S710).
[0183] Here, the public key and the private key correspond to keys that form a pair with each other.
[0184] The recipient terminal (200) can receive an encrypted first key and an encrypted message from the sender terminal (100) (S720).
[0185] In one embodiment, the recipient terminal (200) may receive from the sender terminal (100) a first hash value for a first password for a message, a hint for the first password, an encrypted first key, and an encrypted message.
[0186] The recipient terminal (200) can obtain a second password through the recipient's user input (S730).
[0187] In one embodiment, the recipient terminal (200) provides a hint for the first password from the sender terminal (100) to the recipient and can obtain the second password through the recipient's user input.
[0188] If the first password and the second password for the encrypted message match, the recipient terminal (200) can decrypt the encrypted first key using a private key.
[0189] Specifically, the recipient terminal (200) obtains a second hash value for the second password through a hash function, and if the second hash value and the first hash value match, it can decrypt the encrypted first key using a private key and decrypt the encrypted message using the decrypted first key.
[0190] Additionally, if the second hash value and the first hash value do not match, the receiver terminal (200) may not perform decryption of the encrypted message by not performing decryption of the encrypted first key.
[0191] Meanwhile, the various embodiments described above may be implemented in a recording medium readable by a computer or a similar device using software, hardware, or a combination thereof.
[0192] According to hardware implementation, the embodiments described in this disclosure may be implemented using at least one of ASICs (Application Specific Integrated Circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays), processors, controllers, microcontrollers, microprocessors, and other electrical units for performing functions.
[0193] In some cases, the embodiments described herein may be implemented as the processor itself. In a software implementation, embodiments such as the procedures and functions described herein may be implemented as separate software modules. Each of the aforementioned software modules may perform one or more functions and operations described herein.
[0194] Meanwhile, computer instructions for performing processing operations in electronic devices, etc., according to the various embodiments of the present disclosure described above may be stored in a non-transitory computer-readable medium. When computer instructions stored in such a non-transitory computer-readable medium are executed by a processor of a specific device, they cause the specific device described above to perform processing operations according to the various embodiments described above.
[0195] A non-transient computer-readable medium refers to a medium that stores data semi-permanently and can be read by a device, unlike media that store data for a short period of time such as registers, caches, and memory. Specific examples of non-transient computer-readable media include CDs, DVDs, hard disks, Blu-ray discs, USBs, memory cards, and ROMs.
[0196] Although preferred embodiments of the present disclosure have been illustrated and described above, the present disclosure is not limited to the specific embodiments described above. It is understood that various modifications can be made by those skilled in the art without departing from the essence of the present disclosure as claimed in the claims, and such modifications should not be understood individually from the technical spirit or perspective of the present disclosure. Explanation of the symbols
[0197] 1000: System 100: Caller's terminal 200: Recipient terminal 300: Server
Claims
Claim 1 A method of operation of a system comprising: a step in which a sender terminal obtains a message to be transmitted to a receiver terminal and a first password for said message through user input of the sender; a step in which the sender terminal encrypts said message; a step in which the sender terminal transmits said encrypted message to said receiver terminal; and a step in which the receiver terminal obtains a second password through user input of the receiver, and if said second password and said first password match, the encrypted message is decrypted. Claim 2 A method of operation of the system according to claim 1, comprising: a step in which the receiver terminal generates a public key and a private key according to the RSA (Rivest-Shamir-Adleman) algorithm; and a step in which the receiver terminal transmits information regarding the generated public key to the sender terminal. Claim 3 In paragraph 2, the step of encrypting the acquired message comprises generating a first key based on the first password, encrypting the message using the generated first key, and encrypting the generated first key using the public key, a method of operation of the system. Claim 4 A method of operation of a system according to claim 3, wherein the step of transmitting the encrypted message to the receiver terminal transmits the encrypted message and the encrypted first key to the receiver terminal, and the step of decrypting the encrypted message generates a second key using the second password, decrypts the encrypted first key using the private key, and if the decrypted first key matches the second key, decrypts the encrypted message using the decrypted first key. Claim 5 In paragraph 2, the step of encrypting the acquired message comprises generating a first key according to the AES (Advanced Encryption Standard) algorithm, encrypting the message using the generated first key, and encrypting the generated first key using the public key, a method of operation of a system. Claim 6 In claim 5, the step of transmitting the encrypted message to the receiver terminal comprises obtaining a first hash value for the first password through a hash function, and transmitting the obtained first hash value, the encrypted message, and the encrypted first key to the receiver terminal, a method of operation of the system. Claim 7 In claim 6, the step of decrypting the encrypted message comprises obtaining a second hash value for the second password through a hash function, and if the first hash value and the second hash value match, decrypting the encrypted first key using the private key and decrypting the encrypted message using the decrypted first key. Claim 8 A method of operation of the system according to claim 1, wherein the method of operation of the system comprises the step of the receiver terminal executing a copy prevention mode for the decrypted message and executing a capture prevention mode while displaying the decrypted message. Claim 9 A method of operation of the system according to claim 1, wherein the method of operation of the system comprises the step of the receiver terminal re-encrypting the decrypted message when a preset time has elapsed from the time when the encrypted message was decrypted. Claim 10 A method of operation of a system comprising: a step in which a sender terminal obtains a message to be transmitted to a receiver terminal and a first password for said message through user input of the sender; a step in which the sender terminal encrypts said message; a step in which the sender terminal transmits said encrypted message to said receiver terminal through a server; a step in which the server obtains a second password through user input received from said receiver terminal; a step in which, if said first password and said second password match, the server approves said receiver terminal's access to said encrypted message; and a step in which said receiver terminal decrypts said encrypted message. Claim 11 A method of operation of a sender terminal comprising: receiving information regarding a public key from a receiver terminal; obtaining a message to be transmitted to the receiver terminal and a first password for said message through user input of the sender; generating a first key according to an AES (Advanced Encryption Standard) algorithm, encrypting said obtained message using said generated first key and encrypting said first key using said public key; and transmitting said encrypted message and said encrypted first key to said receiver terminal; comprising a method of operation of a sender terminal. Claim 12 A method of operation of a receiver terminal comprising: generating a public key and a private key according to an RSA algorithm and transmitting information regarding the generated public key to a sender terminal; receiving an encrypted first key and an encrypted message from the sender terminal; obtaining a second password through user input of the receiver; if the first password for the encrypted message matches the obtained second password, decrypting the encrypted first key using the private key; and decrypting the encrypted message using the decrypted first key.