Patent Description:
Utility meters includes a water meter, a gas meter, a heat meter, and a hot water meter which measure an amount of the use of water, gas, heat, and hot water and are generally installed in each household of an apartment building or in individual houses.

Such utility meters may periodically or aperiodically transmit meter data to the server by a remote meter reading service. However, a communication protocol generally used at present to transmit/receive meter data does not use an encryption technique, so that problems may occur such as falsification of bills or illegal collection of personal information by a third party, for example, whether there is a damage.

Meanwhile, the utility meter is designed to operate for several years with only a battery through high-level technology, and thus uses low specification hardware consuming a very small amount of power, for example, a computing processor or a memory and it is difficult to apply a generally known encryption technology to the current communication protocol.

Reference is also made to the article by <NPL>.

In this background, an aspect of the present disclosure is to provide technology for encrypting a communication message of a utility meter. Another aspect of the present disclosure is to provide technology for performing high-level encryption on necessary data with a small amount of calculations to be suitable for hardware specifications of the utility meter.

In accordance with an aspect of the present invention, a utility meter reading system according to claim <NUM> is provided.

The first request message may include a first message block indicating a type of requested information and a second message block indicating a location of a household in which the utility meter is installed, and the first message block and the second message block may be included in the first interval.

The first request message may include a third message block indicating a type of the utility meter and a fourth message block including time information, and the third message block and the fourth message block may be included in the first interval.

The first request message may further include a checksum value for a third interval including the first interval, and the controller may determine whether the encrypted request message has errors through the checksum value included in the third interval of the reconstructed message.

When it is determined that the encrypted request message is abnormal, the controller may increase a pre-initialized count and, when the count exceeds a predetermined value, provide an alarm to the server or outside.

The unidirectional encryption algorithm may be an algorithm using a hash function.

The unidirectional encryption algorithm may be one of Message-Digest algorithm <NUM> (MD5), Secure Hash Algorithm (SHA), bcrypt, Password-Based Key Derivation Function2 (PBKDF2), and scrypt.

The server may generate the encrypted request message by performing an XOR operation on the second request message and N1 (N1 being a natural number) symmetric keys.

The two or more different bitwise operations may include bit movement of shifting each of a predetermined number of bits in one direction and bit transposition of relocating a location of each bit in a predefined order.

The two or more different bitwise operations may include at least two bitwise operations among an XOR operation, bit movement of shifting each of a predetermined number of bits in one direction, and bit transposition of relocating each bit in a predefined order.

The server may insert only L (L being a natural number) characters in the first encrypted character string into the second interval.

The second request message may include a start character and an end character, and the server may generate the encrypted request message by performing a bitwise operation on remaining parts other than the start character and the end character.

In accordance with another aspect of the present invention, a method of communicating meter data according to claim <NUM> is provided.

The method may further include: generating a first meter reading message by inserting a result of a function requested by the first reconstructed message into the meter data by the utility meter; generating a third encrypted character string by encrypting a part corresponding to an interval <NUM>-<NUM> in the first meter reading message through the unidirectional encryption algorithm by the utility meter; generating a second meter reading message by inserting all or some of the third encrypted character string into an interval <NUM>-<NUM> in the first meter reading message by the utility meter; generating an encrypted meter reading message by performing the bitwise operation on a part of the second meter reading message M2 (M2 being a natural number) times according to a second sequence by the utility meter; and transmitting the encrypted meter reading message to the server by the utility meter.

The method may further include: generating a second reconstructed message by inversely performing the bitwise operation on the encrypted meter reading message M2 times according to a second inverse sequence opposing the second sequence by the server; generating a fourth encrypted character string by encrypting the part corresponding to the interval <NUM>-<NUM> in the second reconstructed message through the unidirectional encryption algorithm by the server; determining whether the encrypted meter reading message is normal by comparing a second character string to be compared corresponding to the interval <NUM>-<NUM> in the second reconstructed message with all or some of the fourth encrypted character string by the server; and processing the meter data included in the second reconstructed message by the server when the encrypted meter reading message is normal.

As described above, according to the present embodiment, a communication message of the utility meter can be encrypted. Further, according to the present embodiment, it is possible to perform high-level encryption on necessary data with a small amount of calculations to be suitable for hardware specifications of the utility meter.

The above and other aspects, features and advantages of the present disclosure will be more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which:.

In adding reference numerals to elements in each drawing, the same elements will be designated by the same reference numerals, if possible, although they are shown in different drawings. Further, in the following description of the present disclosure, a detailed description of known functions and configurations incorporated herein will be omitted when it is determined that the description may make the subject matter of the present disclosure rather unclear.

In addition, terms, such as first, second, A, B, (a), (b) or the like may be used herein when describing components of the present disclosure. These terms are merely used to distinguish one structural element from other structural elements, and a property, an order, a sequence and the like of a corresponding structural element are not limited by the term. It should be noted that if it is described in the specification that one component is "connected," "coupled" or "joined" to another component, a third component may be "connected," "coupled," and "joined" between the first and second components, although the first component may be directly connected, coupled or joined to the second component.

<FIG> is a diagram illustrating a meter reading system according to an embodiment.

Referring to <FIG>, a meter reading system <NUM> may include a utility meter <NUM> and a server <NUM>.

The utility meter <NUM> may read an amount of the use of utilities in the household and transmit meter data to the server <NUM>. The utilities may be water, gas, heating, and hot water supplied through supply pipes in the form of a fluid. A water meter for reading an amount of used water, a gas meter for reading an amount of used gas, a heat meter for reading an amount of used heat, and a hot water meter for reading an amount of used hot water may be referred to as the utility meter.

The server <NUM> may receive meter data from the utility meter <NUM> and issue a bill for the amount of used utilities in each household based on the received meter-read data or notify an amount of meter reading to the user in each household.

The server <NUM> and the utility meter <NUM> may be connected through communication based on remote meter reading service technology and transmit and receive meter data. Communication may be wired communication or wireless communication. For communication, a relay may intervene between the server <NUM> and the utility meter <NUM> or the following external display system may intervene. At this time, some intervals of the communication may be wired communication and other intervals may be wireless communication.

The server <NUM> may make a request for reading meters by transmitting a request message (REQ) to the utility meter <NUM>, and the utility meter <NUM> may generate a meter reading message (RES) corresponding to the request message (REQ) and transmit the generated meter reading message (RES) to the server <NUM>. In some embodiments, the utility meter <NUM> may periodically or aperiodically generate and transmit the meter reading message (RES) without transmitting the request message (REQ).

The utility meter <NUM> may detect the content in the request message (REQ) from the server <NUM> by reading the request message (REQ) in plain text. The plain text is a protocol pre-regulated without encryption and consists of, for example, characteristic prescribed in ASCII table. The ASCII table defines a total of <NUM> characters through <NUM>-bit characters, wherein a <NUM>th character means NUL and Arabic numerals <NUM> to <NUM> are defined by a <NUM>th character to a <NUM>th character. In the ASCII table, STX that means a start character may be defined by a <NUM>nd character and ETX that means an end character may be defined by a <NUM>rd character, and alphabet characters may be defined by <NUM> to <NUM>th characters and <NUM> to <NUM>nd characters.

The server <NUM> may also identify meter data by reading the meter reading message (RES) in the plain text.

Meanwhile, since the plain text is not encrypted, users other than a manager who manages meter reading can easily obtain the content. For example, the meter reading message (RES) may have the form such as "1203WAT1111" in the plain text. If a user other than the manager knows that "<NUM>" means a particular household, "WAT" means water, and "<NUM>" means an amount of meter reading through a periodic observation, it may introduce risks in that personal information is leaked and also a charge is manipulated.

The meter reading system <NUM> according to an embodiment may solve the above-described problems by encrypting the request message (REQ) which the server <NUM> transmits to the utility meter <NUM> and/or the meter reading message (RES) which the utility meter <NUM> transmits to the server <NUM>. Further, the meter reading system <NUM> according to an embodiment applies an encryption method having a small amount of calculations in consideration of a hardware limit of the utility meter <NUM>.

<FIG> is a block diagram illustrating the utility meter according to an embodiment.

Referring to <FIG>, the utility meter <NUM> may include a meter timer <NUM>, a meter controller <NUM>, a meter communication unit <NUM>, a meter storage unit <NUM>, and a meter reading unit <NUM>.

The meter timer <NUM> may be called a timer, the meter controller <NUM> may be called a controller, the meter communication unit <NUM> may be called a communication unit, the meter storage unit <NUM> may be called a storage unit, the meter reading unit <NUM> may be called a reading unit but, hereinafter, the modifier "meter" is added before a name of each element in order to prevent confusion with elements of the server.

The meter timer <NUM> is an element for generating time and may synchronize a timer of the server <NUM> and time.

The meter controller <NUM> may perform all controls of the utility meter <NUM>. In the following description, it is understood that unless an element performing an operation is specified, the operation is performed by the meter controller <NUM>.

The meter controller <NUM> may decrypt a received encrypted request message, identify request information included in the decrypted request message, and perform a function corresponding to the request information. The meter controller <NUM> may insert a result of the function corresponding to the request information into a meter reading message, and encrypt the meter reading message.

The meter communication unit <NUM> is an element for performing communication and may receive the encrypted request message from the server and transmit the encrypted meter reading message to the server.

The meter storage unit <NUM> may store meter data and store a key (KEY) required for encryption or setting matters. In the following description, the expression of presetting a particular element may be understood that such settings are stored in the meter storage unit <NUM>.

The meter reading unit <NUM> is an element for reading an amount of the use of utilities, and an amount of meter reading may have an instantaneous value or an accumulated value.

The meter reading unit <NUM> may measure not only the amount of the use of utilities but also states of the utilities. For example, the meter reading unit <NUM> may measure temperature and a flow rate. The meter reading unit <NUM> may calculate a quantity of heat based on a value generated by measuring temperature or the flow rate. When the quantity of heat is a target to be read, the meter reading unit <NUM> may read the quantity of heat through such a process.

<FIG> is a block diagram illustrating the server according to an embodiment.

Referring to <FIG>, the server <NUM> may include a server timer <NUM>, a server controller <NUM>, a server communication unit <NUM>, and a server storage unit <NUM>.

The server timer <NUM> may be called a timer, the server controller <NUM> may be called a controller, the server communication unit <NUM> may be called a communication unit, and the server storage unit <NUM> may be called a storage unit but, hereinafter, the modifier "server" may be added before a name of each element in order to prevent confusion with the elements of the utility meter.

The server timer <NUM> is an element for generating time and may synchronize the timer of the utility meter <NUM> and time.

The server controller <NUM> may perform all controls of the server <NUM>. In the following description, it may be understood that unless an element performing an operation is specified, the operation is performed by the server controller <NUM>.

The server controller <NUM> may decrypt a received encrypted meter reading message and identify meter data included in the decrypted meter reading message. The server controller <NUM> may generate request information for making a request to the utility meter, insert the request information into a request message, and encrypt the request message.

The server communication unit <NUM> is an element for performing communication, and may receive the encrypted meter reading message from the utility meter and transmit the encrypted request message to the utility meter.

The server storage unit <NUM> may store meter data and also store a key (KEY) required for encryption or setting matters. In the following description, the expression of presetting a particular element may be understood that such settings are stored in the server storage unit <NUM>.

In other words, in accordance with an aspect of the present disclosure, a server is provided, which includes: a communication unit configured to receive an encrypted meter reading message from a utility meter configured to generate a first meter reading message including meter data, generate a first encrypted character string by encrypting a part corresponding to a first interval in the first meter reading message through a unidirectional encryption algorithm, generate a second meter reading message by inserting all or some of the first encrypted character string into a second interval in the first meter reading message, and generate the encrypted metering reading message by performing a bitwise operation on a part of the second meter reading message M2 (M2 being a natural number) times according to a second sequence; a controller configured to generate a reconstructed message by inversely performing the bitwise operation on the part of the encrypted metering reading message M2 times according to a second inverse sequence opposing the second sequence, generate a second encrypted character string by encrypting the part corresponding to the first interval in the reconstructed message through the unidirectional encryption algorithm, compare a character sting to be compared corresponding to a second interval in the reconstructed message with all or some of the second encrypted character string, and extract the meter reading message from the reconstructed message when it is determined that the encrypted meter reading message is normal; and a storage unit configured to store meter reading information included in the meter data.

The second meter reading message may include a start character and an end character, and the utility meter may generate the encrypted meter reading message by performing a bitwise operation on remaining parts other than the start character and the end character, and the controller may identify a length of the encrypted meter reading message by recognizing the start character and the end character of the encrypted meter reading message.

The reconstructed message may include a message length block, and the controller may determine whether the encrypted meter reading message has errors by comparing a length of the encrypted meter reading message identified through the start character and the end character with a message length included in the message length block.

When it is determined that the encrypted meter reading message is abnormal, the controller may increase a pre-initialized count and, when the count exceeds a predetermined value, provide an alarm to a user terminal corresponding to the utility meter.

<FIG> is a flowchart illustrating a process of transmitting and receiving a request message according to an embodiment.

Referring to <FIG>, the server may configure a request message in plain text in S400.

The server may generate a first request message. The first request message may include utility meter-specific information that specifying a utility meter. The utility meter-specific information may include, for example, household location information indicating a household location and ID information indicating an ID of a utility meter within each household.

The first request message may further include request information. The request information may include, for example, information type indication information indicating a type of requested information such as a flow rate, temperature, and a quantity of heat and utility type indication information indicating a type of the requested utility such as a water meter, a gas meter, a heat meter, and a hot water meter.

The first request message may further include a data block. In the data block, time information on a time point at which the first request message is generated may be recorded or time information on a time point at which meter data is generated, that is, a time point at which meter data to be transmitted by the utility meter may be recorded.

Information inserted into the first request message may be inserted into a block in a particular location (interval). For example, the information type indication information may be inserted into a first message block of the first request message, the household location information may be inserted into a second message block, the utility type indication information may be inserted into a third message block, and the time information may be inserted into a fourth message block (data block).

A random character string consisting of random numbers generated by arbitrary numbers may be further inserted into the first request message. For example, the random character string may be inserted into a random character string block following the fourth message block.

The first request message may further include a checksum value.

The first request message may further include an encrypted character string by which falsification by hacking can be identified.

The server may generate a first encrypted character string by encrypting the part corresponding to a particular interval A1 in the first request message through a unidirectional encryption algorithm and generate a second request message by inserting all or some of the first encrypted character string into a particular interval B1 in the first request message. The second request message may be designated as a request message to be transmitted.

The unidirectional encryption algorithm may be an algorithm using a hash function. The unidirectional encryption algorithm may be one of Message-Digest algorithm <NUM> (MD5), Secure Hash Algorithm (SHA), bcrypt, Password-Based Key Derivation Function2 (PBKDF2), and scrypt.

The server may insert only L (L being a natural number) characters in the first encrypted character string may be inserted into the interval B1.

The server may generate an encrypted request message by encrypting the request message in S402.

The server may generate the encrypted request message by performing a bitwise operation on the part of the request message M1 times (M1 being a natural number larger than or equal to N1) according to a first sequence.

When the server uses N1 (N1 being a natural number) symmetric keys, the server may generate an encrypted request message by performing a bitwise operation on the request message with the symmetric keys M1 times. For example, the server may generate the encrypted request message by performing an XOR operation on the request message and the symmetric keys. Alternatively, the server may generate the encrypted request message by performing two or more different bitwise operations, for example, bit movement and bit transposition on the request message.

The bit movement corresponds to shift of each bit of the predefined number of bits in one direction, and the predefined number may be a kind of symmetric key. Further, the bit transposition corresponds to relocation of each bit in a predefined depth or a predefined order, and the predefined order may be a kind of symmetric key. Hereinafter, the expression that the bitwise operation is performed on the request message through the symmetric keys may be understood as the expression applied to the bit movement and the bit transposition.

The request message includes a start character (STX) in the very front and an end character (ETX) in the very back, and the server may generate the encrypted request message by performing the bitwise operation on the remaining parts other than the start character (STX) and the end character (ETX).

The server may transmit the encrypted request message to the utility meter and the utility meter, for example, the meter communication unit may receive the encrypted request message from the server in S404.

The utility meter, for example, the meter controller, may generate a first reconstructed message by decrypting the encrypted request message in S406.

The meter controller may identify a length of the encrypted request message by recognizing the start character (STX) and the end character (ETX) of the encrypted request message. Further, the server may generate the encrypted request message by inserting a message length into a message length block of the request message, and the meter controller may identify the message length in the message length block of the first reconstructed message generated by decrypting the encrypted request message and compare the length of the encrypted request message identified through the start character (STX) and the end character (ETX) with the message length included in the message length block of the first reconstructed message, so as to determine whether there is an error in the encrypted request message.

Meanwhile, the meter controller may generate the first reconstructed message by inversely performing the bitwise operation on the part of the encrypted request message M1 times according to a first inverse sequence opposing the first sequence.

The meter controller may generate a second encrypted character string by encrypting the part corresponding to an interval A1 in the first reconstructed message through a unidirectional encryption algorithm.

The meter controller may determine whether the encrypted request message is normal in S408.

The meter controller may determine whether the encrypted request message is normal by comparing a character string to be compared corresponding to an interval B1 in the first reconstructed message with the entirety or part of the second encrypted character string.

When it is determined that the encrypted request message is normal (Yes of S408), the meter controller may generate a meter reading message by responding to a request from the server included in the first reconstructed message and generate an encrypted meter reading message by encrypting the meter reading message in S410. For example, the meter controller may generate a meter reading message on the basis of the meter data generated by the meter reading unit and generate an encrypted meter reading message by encrypting the meter reading message. Further, the meter controller may control the meter communication unit to transmit the encrypted meter reading message to the server.

When it is determined that the encrypted meter reading message is abnormal (No of S408), the meter controller may increase a pre-initialized count, for example, an abnormal count or a hacking count in S412.

When the count exceeds a predetermined value, the meter controller may perform a function of preventing abnormality, for example, providing an alarm to the server or outside in S414.

<FIG> is a flowchart illustrating a process of transmitting and receiving a meter reading message according to an embodiment.

Referring to <FIG>, the utility meter may configure the meter reading message in plain text in S500.

The utility meter may generate a first meter reading message. The first meter reading message may include utility meter-specific information that specifies the utility meter. The utility meter-specific information may include, for example, household location information indicating a household location and ID information indicating an ID of a utility meter within each household.

The first meter reading message may further include response information corresponding to request information. The response information may include, for example, information type indication information indicating a type of responded information such as a flow rate, temperature, and a quantity of heat and utility type indication information indicating a type of the responded utility such as a water meter, a gas meter, a heat meter, and a hot water meter.

The first meter reading message may further include a data block. In the data block, meter data may be included or time information indicating a time point at which the first metering reading message is generated or the meter data is generated may be recorded. The meter data may include a flow rate value and a temperature value.

Information inserted into the first meter reading message may be inserted into a block in a particular location (interval). For example, the information type indication information may be inserted into a first message block of the first request message, the household location information may be inserted into a second message block, the utility type indication information may be inserted into a third message block, and the meter data may be inserted into a fourth message block (data block).

A random character string consisting of random numbers generated by arbitrary numbers may be further inserted into the first meter reading message. For example, the random character string may be inserted into a random character string block following the fourth message block.

The first meter reading message may further include a checksum value.

The first meter reading message may further include an encrypted character string by which falsification by hacking can be identified.

The utility meter may generate a first encrypted character string by encrypting the part corresponding to a particular interval A2 in the first meter reading message through a unidirectional encryption algorithm and generate a second meter reading message by inserting all or some of the first encrypted character string into a particular interval B2 in the first meter reading message. The second meter reading message may be designated as a meter reading message to be transmitted.

The utility meter may insert only L (L being a natural number) characters in the first encrypted character string into the interval B2.

The utility meter may generate an encrypted meter reading message by encrypting the metering reading message in S502.

The utility meter may generate the encrypted meter reading message by performing a bitwise operation on the part of the meter reading message M2 times according to a second sequence.

When the utility meter uses N2 (N2 being a natural number) symmetric keys, the utility meter may generate the encrypted meter reading message by performing a bitwise operation on the meter reading message with the symmetric keys M2 times. For example, the utility meter may generate the encrypted meter reading message by performing an XOR operation on the meter reading message and the symmetric keys. Alternatively, the utility meter may generate the encrypted meter reading message by performing two or more different bitwise operations, for example, bit movement and bit transposition on the meter reading message.

The meter reading message includes a start character (STX) in the very front and an end character (ETX) in the very back, and the utility meter may generate the encrypted request message by performing the bitwise operation on the remaining parts other than the start character (STX) and the end character (ETX).

The utility meter may transmit the encrypted metering reading message to the server and the server, for example, the server communication unit may receive the encrypted metering reading message from the utility meter in S504.

The server, for example, the server controller may generate a second reconstructed message by decrypting the encrypted metering reading message in S506.

The server controller may identify a length of the encrypted meter reading message by recognizing the start character (STX) and the end character (ETX) of the encrypted meter reading message. Further, the utility meter may generate the encrypted meter reading message by inserting a message length into a message length block of the meter reading message, and the server controller may identify the message length in the message length block of the second reconstructed message generated by decrypting the encrypted meter reading message and compare the length of the encrypted meter reading message identified through the start character (STX) and the end character (ETX) with the message length included in the message length block of the second reconstructed message, so as to determine whether there is an error in the encrypted meter reading message.

Meanwhile, the server controller may generate the second reconstructed message by inversely performing the bitwise operation on the part of the encrypted meter reading message M2 times according to a second inverse sequence opposing the second sequence.

The server controller may generate a second encrypted character string by encrypting the part corresponding to an interval A2 in the second reconstructed message through a unidirectional encryption algorithm.

The server controller may determine whether the encrypted meter reading message is normal in S508.

The server controller may determine whether the encrypted meter reading message is normal by comparing the character string to be compared corresponding to an interval B2 of the second reconstructed message with the entirety or part of the second encrypted character string.

When it is determined that the encrypted meter reading message is normal (Yes of S508), the server controller may extract meter data from the second reconstructed message and control the server storage unit to store meter reading information included in the meter data in S510.

When it is determined that the encrypted meter reading message is abnormal (No of S508), the server controller may increase a pre-initialized count, for example, an abnormal count or a hacking count in S512.

When the count value exceeds a predetermined value, the server controller may perform a function of preventing abnormality, for example, providing an alarm to a user terminal corresponding to the utility meter in S514.

<FIG> illustrates a plain text protocol of the request message and the meter reading message according to an embodiment.

The request message and the meter reading message may have the same plain text protocol.

Referring to <FIG>, the request message and the meter reading message may include a start character (STX), a message length block (LEN), a first message block (MSG1), a second message block (MSG2), a third message block (MSG3), a fourth message block (MSG4), a random character string block (RND), a checksum (CKS), an encrypted character string block (COD), and an end character (ETX).

The message length block (LEN) may include a message length. The message length may be a length from the first message block (MSG1) to the fourth message block (MSG4), a value generated by adding a length of the random character string block (RND) to the length, or a length of the blocks further including another block.

Information type indication information may be inserted into the first message block (MSG1), household location information may be inserted into the second message block (MSG2), and utility type indication information may be inserted into the third message block (MSG3).

The fourth message block (MSG4) is a data block and may include time information and meter data, and the length of the fourth message block (MSG4) may be fixed or variable in some embodiments.

An arbitrarily generated random number may be inserted into the random character string block (RND).

An encrypted character string generated by encrypting the part of the request message (REQ)/meter reading message (RES) corresponding to the interval A through a unidirectional encryption algorithm may be inserted into the encrypted character string block (COD) inserted into the interval B.

The interval A may include the random number character string block (RND) together with the first message block (MSG1) to the fourth message block (MSG4). The encrypted character string included in the encrypted character string block (COD) may be changed ever time by the random number character string block (RND).

The checksum (CKS) may include a checksum value for an interval C, and the interval C may include the interval A in some embodiments. The server or the utility meter may determine whether message transmitted and received through communication have errors on the basis of the checksum (CKS).

<FIG> is a flowchart illustrating an encryption process according to an embodiment.

Referring to <FIG>, the server and the utility meter may write information in plain text in the request message or the meter reading message in S700. The server and the utility meter may write information on a household location, time information, and an amount of metering reading in plain text according to the ASCII table.

The server and the utility meter may add a random number character string written in plain text to the plain text in order to increase complexity of the request message and the meter reading message in S702.

Further, the server and the utility meter may generate an encrypted character string by executing a unidirectional encryption algorithm on the part including the random number character string and insert the encrypted character string into the request message and the meter reading message in S704.

The server and the utility meter may perform symmetric encryption on the request message and the meter reading message into which the encrypted character string is inserted through a bitwise operation using symmetric keys in S706.

<FIG> is a flowchart illustrating a decryption process according to an embodiment.

Referring to <FIG>, the server and the utility meter may generate a reconstructed message by inversely performing a bitwise operation using symmetric keys on the received encrypted message in S800. At this time, the server and the utility meter may generate the reconstructed message using symmetric keys while storing symmetric keys which are the same as the symmetric keys used for encryption.

The server and the utility meter may generate an encrypted character string by performing a unidirectional encryption algorithm on a particular interval of the reconstructed message in S802.

Further, the server and the utility meter may compare the character string to be compared, which is included in the reconstructed message, for example, a character string corresponding to the encrypted character string which the server and the utility meter insert into the request message and the meter reading message with a newly generated encrypted character string and identify whether the encrypted charter strings are the same as each other in S808.

When the character string to be compared and the encrypted character string are the same as each other (Yes of S808), the server and the utility meter may perform a normal function corresponding to the received message in S810.

When the character string to be compared and the encrypted character string are not the same as each other (No of S808), the server and the utility meter may increase a count indicating abnormality in S812 and, when the count exceeds a predetermined value, generate an alarm in S814.

<FIG> illustrates symmetric encryption and decryption according to an embodiment.

The server and the utility meter may generate an encrypted message by performing a bitwise operation on N symmetric keys M times.

For example, the server and the utility meter may generate a first encrypted message (Q1) by performing a first bitwise operation, for example, an XOR operation on a plain text message (O) and a first symmetric key (P1) in a first step (ST01). The first symmetric key is reconfiguration of ASCII plain text in Hexa, and, for example, A!b1C2d3E4#$% may correspond to <NUM><NUM><NUM><NUM><NUM><NUM><NUM><NUM><NUM><NUM><NUM><NUM><NUM>. The server and the utility meter may perform the XOR operation on the first symmetric key and the plain text message (O) in the unit of bytes in one-to-one correspondence.

Further, the server and the utility meter may generate a second encrypted message (Q2) by performing a second bitwise operation, for example, bit movement on the first encrypted message (Q1) and a second symmetric key (P2) in a second step (ST02). The second symmetric key correspond a direction of bit movement and the number of moving bits. For example, when the second symmetric key indicates movement of <NUM> bits in a right direction, <NUM><NUM><NUM><NUM><NUM><NUM><NUM><NUM><NUM><NUM><NUM><NUM><NUM> may become 6B <NUM>6D 0B 5D 3A 5E 2D 5E <NUM>3A 3A 3A by applying the second symmetric key.

Further, the server and the utility meter may generate an encrypted message (R) by performing a third bitwise operation, for example, bit transposition on the second encrypted message (Q2) and a third symmetric key (P3) in a third step (ST03). The third symmetric key designates a location of each relocated bit. For example, when the third symmetric key for a message consisting <NUM> bits of ABCDE corresponds to <NUM>, the message becomes ADCEB after the bitwise operation is applied thereto.

Decryption may be performed on the same symmetric keys in an inverse sequence.

For example, the server and the utility meter may generate the second encrypted message (Q2) by inversely performing a third bitwise operation on the encrypted message (R) with the third symmetric key (P3) in a first inverse step (RST01).

Further, the server and the utility meter may generate the first encrypted message (Q1) by inversely performing the second bitwise operation on the second encrypted message (Q2) with the second symmetric key (P2) in a second inverse step (RST02).

In addition, the server and the utility meter may reconstruct a plain text message (O) by inversely performing the first bitwise operation on the first encrypted message (Q1) with the first symmetric key (P1) in a third inverse step (RST03).

<FIG> illustrates a logical table of an XOR operation.

Referring to <FIG>, when the plain text message (O) is <NUM> and the symmetric key (P) is <NUM>, a bitwise operation value by XOR becomes <NUM> and an encrypted message may be generated by the bitwise operation value. Further, inversely, when the encrypted message is <NUM> and the symmetric key (P) is <NUM>, it may be identified that the plain text message (O) corresponding to the original text is <NUM>.

The server and the utility meter may generate the encrypted message according to the logical table while storing in advance the logical table for each bitwise operation.

<FIG> illustrates a process of comparing encrypted character strings according to an embodiment.

Referring to <FIG>, the side transmitting a communication message, for example, the request message or the meter reading message may generate, insert, and transmit a first encrypted character string <NUM> through a unidirectional algorithm based on the part corresponding to the interval A of the communication message (original text) to be transmitted.

Further, the side receiving the communication message may generate a reconstructed message (reconstructed text) by reconstructing the received communication message and generate a second encrypted character string <NUM> through a unidirectional encryption algorithm, which is the same as that used by the transmitting side, based on the part corresponding to the interval A of the reconstructed message (reconstructed text).

The server and the utility meter may determine whether the received communication message is normal, for example, whether the received communication message is hacked or has errors on the basis of the principle that the first encrypted character string <NUM> and the second encrypted character string <NUM> are the same as each other if the interval A of the communication message (original text) and the interval A of the reconstructed message (reconstructed text) are the same as each other and the algorithms used for generating the encrypted character strings are the same as each other.

<FIG> is a diagram illustrating a meter reading system according to another embodiment.

Referring to <FIG>, a meter reading system <NUM> may include one or more utility meters 1210a and 1210b, a server <NUM>, and an external display system <NUM>.

The meter reading system <NUM> may include a plurality of utility meters 1210a and 1210b and, at this time, the utility meter 1210a and 1210b may be connected to different supply pipes and measure amounts of the use of the utilities supplied through the respective pipes.

The plurality of utility meters 1210a and 1210b may be connected to the external display system <NUM> through communication. Further, the external display system <NUM> may display meter reading information read by each utility meter 1210a and 1210b.

The external display system <NUM> may be connected to the server <NUM> through communication may transmit the meter reading information received from the plurality of utility meters 1210a and 1210b to the server <NUM>.

The external display system <NUM> may receive an encrypted request message (REQ) from the server <NUM> and retransmit the encrypted request message to the plurality of utility meters 1210a and 1210b. Alternatively, the external display system <NUM> may receive the encrypted request message (REQ) from the server <NUM> and determine whether the message (REQ) is normal. When it is determined that the message (REQ) is normal, the external display system <NUM> may transmit the message (REQ) to the utility meters 1210a and 1210b.

The external display system <NUM> may receive an encrypted meter reading message (RES1) from the utility meters 1210a and 1210b and retransmit the encrypted meter reading message to the server <NUM>. Alternatively, the external display system <NUM> may receive the encrypted meter reading message (RES1) from the utility meters 1210a and 1210b and determine whether the message (RES1) is normal. When it is determined that the message (RES1) is normal, the external display system <NUM> may retransmit the message (RES1) to the server <NUM> or transmit an encrypted meter reading message (RES2), to which some information is added, to the server <NUM>.

<FIG> is a block diagram illustrating the utility meter according to another embodiment.

Referring to <FIG>, the utility terminal <NUM> may include the meter timer <NUM>, the meter controller <NUM>, a meter communication unit <NUM>, the meter storage unit <NUM>, and the meter reading unit <NUM>.

Unlike the meter communication unit <NUM> illustrated in <FIG>, the meter communication unit <NUM> may be connected to the external display system without being connected to the server.

<FIG> is a block diagram illustrating the server according to another embodiment.

Referring to <FIG>, the server <NUM> may include the server timer <NUM>, the server controller <NUM>, a server communication unit <NUM>, and the server storage unit <NUM>.

Unlike the server communication unit <NUM> illustrated in <FIG>, the server communication unit <NUM> may be connected to the external display system without being connected to the utility meter.

<FIG> is a block diagram illustrating the external display system according to another embodiment.

Referring to <FIG>, the external display system <NUM> may include a display system timer <NUM>, a display system controller <NUM>, a display system communication unit <NUM>, and a display system storage unit <NUM>.

The display system timer <NUM> may be called a timer, the display system controller <NUM> may be called a controller, the display system communication unit <NUM> may be called a communication unit, and the display system storage unit <NUM> may be called a storage unit but, the modifier "display system" is added before a name of each element in order to prevent confusion with another device.

The display system timer <NUM> is an element for generating time and may synchronize the timers of the server and the utility meter with time.

The display system controller <NUM> may perform all controls of the external display system <NUM>. In the following description, it is understood that unless an element performing an operation is specified, the operation is performed by the display system controller <NUM>.

The display system communication unit <NUM> may receive the encrypted message from the server and the utility meter and transmit the encrypted message to the server and the utility meter.

The display system storage unit <NUM> may store a key (KEY) required for encryption and setting matters. In the following description, the expression of presetting a particular element may be understood that such settings are stored in the display system storage unit <NUM>.

<FIG> is a flowchart illustrating a process of transmitting the request message according to another embodiment.

Referring to <FIG>, the server may configure the request message in plain text. The request message configured in plain text may be the same as the request message described through an embodiment in S1600. For example, the server may insert an encrypted character string generated through the unidirectional encryption algorithm into the request message, and the request message may include a random number character string block.

The server may generate a first encrypted request message after encrypting the request message through a bitwise operation using symmetric keys in S1602. The first encrypted request message may be the same as the encrypted request message described through an embodiment.

The server may transmit a first encrypted request message to the external display system and the external display system may receive the first encrypted request message in S1604.

The external display system may generate a first reconstructed message by decrypting the first encrypted request message in S1606. A process of generating the first reconstructed message from the first encrypted request message may be the same as the process in which the utility meter generates the reconstructed message from the encrypted request message according to an embodiment.

The external display system may identify whether the first encrypted request message is normal by analyzing the encrypted character string in the first reconstructed message. When the first encrypted request message is abnormal, the external display system may ignore the first encrypted request message and increase an abnormal count. When the abnormal count exceeds a predetermined value, the external display system may display alarm information.

When the first encrypted request message is normal, the external display system may generate a second encrypted request message by encrypting the first reconstructed message or by copying the first encrypted request message without any change in S1610. When the second encrypted request message is generated by encrypting the first reconstructed message, the external display system may insert a new random number into the random number character string block to make the first encrypted request message and the second encrypted request message different from each other.

The utility meter may receive the second encrypted request message and configure a second reconstructed message by decrypting the second encrypted request message in S1612. At this time, a process of decrypting the second encrypted request message may be the same as the process in which the utility meter decrypts the encrypted request message according to an embodiment.

When it is determined that the second encrypted request message is normal through verification of the second encrypted request message, the utility meter may perform a meter reading function required from the server in S1614.

<FIG> is a flowchart illustrating the process of transmitting the meter reading message according to another embodiment.

Referring to <FIG>, the utility meter may configure a first meter reading message in plain text in S1700. The first meter reading message configured in plain text may be the same as the meter reading message described through an embodiment.

The utility meter may generate a first encrypted meter reading message after encrypting the first meter reading message through a bitwise operation using symmetric keys in S1702. The first encrypted meter reading message may the same as the encrypted meter reading message described through an embodiment.

The external display system, for example, the display system communication unit, may receive the first encrypted meter reading message from the utility meter in S1704.

Further, the display system controller may generate a first reconstructed message by decrypting the first encrypted meter reading message in S1706.

The display system controller may generate the first reconstructed message by performing a bitwise operation on the part of the first encrypted meter reading message M1 (M1 being a natural number) according to a first inverse sequence opposing the first sequence.

The display system controller may generate a first encrypted charter string by encrypting the part corresponding to an interval <NUM>-<NUM> in the first reconstructed message through the unidirectional encryption algorithm and determine whether the first encrypted meter reading message is normal by comparing a character string to be compared corresponding to an interval <NUM>-<NUM> in the first reconstructed message with all or some of the first encrypted character string.

When the first encrypted meter reading message is normal, the display system controller may generate a second reconstructed message by inserting a household location character string indicating a household location into a particular interval in the first reconstructed message in S1708.

The display system controller may generate a second encrypted meter reading message by encrypting the second reconstructed message through a mechanism which is the same as that used by the utility meter in S1710. Specifically, the display system controller may generate a second encrypted character string by encrypting the part corresponding to an interval <NUM>-<NUM> in the second reconstructed message, generate a third reconstructed message by inserting all or some of the second encrypted character string into an interval <NUM>-<NUM> in the second reconstructed message, and generate a second encrypted meter reading message by performing a bitwise operation on the part of the third reconstructed message M2 (M2 being a natural number) according to a second sequence.

The display system controller may transmit the second encrypted meter reading message to the server.

The server may decrypt the second encrypted meter reading message in S1712 and store meter data included in the decrypted message in S1714.

Meanwhile, the external display system may further include a display unit for displaying meter reading information, and the display unit may display alarm information when it is determined that the received encrypted message, for example, the encrypted request message or the encrypted meter reading message is abnormal.

The communication unit of the external display system may communicate with a plurality of utility meters and, at this time, the plurality of utility meters may be distinguished by separate IDs, for example, different IDs.

In accordance with an aspect of the present disclosure, an external display system is provided, which includes: a communication unit configured to receive a first encrypted message from a utility meter; and a controller configured to generate a first reconstructed message by performing a bitwise operation on a part of the first encrypted message M1 (M1 being a natural number) times according to a first inverse sequence opposing to a first sequence, generate a first encrypted character string by encrypting a part corresponding to an interval <NUM>-<NUM> in the first reconstructed message through a unidirectional encryption algorithm, compare a character string to be compared corresponding to an interval <NUM>-<NUM> in the first reconstructed message with all or some of the first encrypted character string, generate a second reconstructed message by inserting a household location character string indicating a household location into a particular interval of the first reconstructed message when it is determined that the first encrypted message is normal, and control the communication unit to transmit a second encrypted message generated by encrypting the second reconstructed message to a server.

The external display system may further include a display unit configured to display meter reading information of the utility meter.

The display unit may display alarm information when it is determined that the first encrypted message is abnormal.

The controller may generate a second encrypted character string by encrypting a part corresponding to an interval <NUM>-<NUM> in the second reconstructed message through the unidirectional encryption algorithm, generate a third reconstructed message by inserting all or some of the second encrypted character string into an interval <NUM>-<NUM> in the second reconstructed message, and generate the second encrypted message by performing a bitwise operation on a part of the third reconstructed message M2 (M2 being a natural number larger than or equal to N2) according to a second sequence.

The communication unit may communicate with a plurality of utility meters, and the plurality of utility meters is distinguished by separate IDs.

The controller may insert a random number character string block configured by random numbers into a part of the interval <NUM>-<NUM> in the second reconstructed message.

In addition, since terms, such as "including," "comprising," and "having" mean that one or more corresponding components may exist unless they are specifically described to the contrary, it shall be construed that one or more other components can be included. All the terms that are technical, scientific or otherwise agree with the meanings as understood by a person skilled in the art unless defined to the contrary. Common terms as found in dictionaries should be interpreted in the context of the related technical writings not too ideally or impractically unless the present disclosure expressly defines them so.

Claim 1:
A utility meter reading system (<NUM>) comprising a utility meter (<NUM>, <NUM>, 1210a, 1210b) and a server (<NUM>, <NUM>),
said server (<NUM>, <NUM>) being configured to generate a first request message (REQ), generate a first encrypted character string (<NUM>) by encrypting a part corresponding to a first interval (A) in the first request message through a unidirectional encryption algorithm, generate a second request message by inserting all or some of the first encrypted character string into a second interval (B2) in the first request message, and generate an encrypted request message by performing a bitwise operation on a part of the second request message M1, M1 being a natural number, times according to a first sequence;
said utility meter comprising:
a communication unit (<NUM>, <NUM>, <NUM>, <NUM>) configured to receive the encrypted request message from said server (<NUM>, <NUM>);
a meter reading unit (<NUM>) configured to generate meter data; and
a controller (<NUM>, <NUM>) configured to generate a reconstructed message by inversely performing the bitwise operation on the part of the encrypted request message M1 times according to a first inverse sequence opposing the first sequence, generate a second encrypted character string by encrypting a part corresponding to the first interval in the reconstructed message through the unidirectional encryption algorithm, determine that the encrypted request message is normal by comparing a character string to be compared corresponding to the second interval in the reconstructed message with all or some of the second encrypted character string, generate an encrypted meter reading message by encrypting meter data when it is determined that the encrypted request message is normal, and control the communication unit to transmit the encrypted meter reading message to the server, and
wherein the reconstructed message includes a message length block (LEN), the second request message includes a start character (STX) and an end character (ETX), and said controller (<NUM>, <NUM>) is configured to determine whether the encrypted request message has errors by comparing a length of the encrypted request message identified through the start character and the end character with a message length included in the message length block,
wherein the normal means that the second encrypted character string and the character string are the same.