US20100042841A1 — Updating and Distributing Encryption Keys

Bitcoin Research — Law, Regulation, Markets & Origins (2026)

Patents

2008-08-15

Document text

Research, not advice. Part of the Bitcoin research archive (October 2026). Claims labelled unverified, contested or fringe are reported, not endorsed; statuses of bills and rules are as of the date checked. Government, court and patent records are public domain; the research notes are CC BY 4.0.

US 20100042841A1
(19) United States
(12) Patent Application Publication (10) Pub. No.: US 2010/0042841 A1
     King et al.                                                  (43) Pub. Date:                  Feb. 18, 2010
(54) UPDATING AND DISTRIBUTING                                              Publication Classification
     ENCRYPTION KEYS                                      (51) Int. Cl.
                                                                  H04L 9/32               (2006.01)
                                                                  H04L 9/28               (2006.01)
(76) Inventors:      Neal King, Munich (DE); Vladimir          H04L 9/30                 (2006.01)
                     Oksman, Morganville, NJ (US);             H04L 9/08                 (2006.01)
                     Charles Bry, Unterhaching (DE)       (52) U.S. Cl. ......... 713/171; 380/255; 380/262: 380/283;
                                  s                                                                               380/285

                                                          (57)                     ABSTRACT
      Correspondence Address:                             System and method for providing secure communications is
      SLATER & MATSL LLP                                  provided. Initially, an exchange protocol. Such as a password
      17950 PRESTON ROAD, SUITE 1000                      authenticated key exchange protocol, is used to create a
      DALLAS, TX 75252 (US)                               shared secret. From the shared secret, two keys are created: a
                                                          utilized key and a stored key. The utilized key is used to
                                                          encrypt messages between nodes. When it is time to replace
                                                          the utilized key to maintain security, the stored key is utilized
(21) Appl. No.:      12/192,809                           to encrypt messages for generating/distributing a new shared
                                                          secret. The new shared secret is then used to generate a new
                                                          utilized key and a new stored key. This process may be
(22) Filed:          Aug. 15, 2008                        repeated any number of times to maintain security.

                                                                      310
                                              GENERATE SHARED
                                                   SECRET

                                                                      312
                                           GENERAEA UIAEDKEY
                                             AND A SOREDKEY

                                             USEUTILIZEDKEY FOR       31A
                                               COMMUNICATIONS
                                               BETWEEN MODES

                                            GENERATE NEW SHARED       316
                                             SECRETUSING STORED
                                                KEY TO ENCRYPT
                                               COMMUNICATIONS

                                                                      318
                                            GENERAE NEW PAR OF
                                             KEYS (AUTIZEDKEY
                                              ANDA STOREDKEY
Patent Application Publication   Feb. 18, 2010 Sheet 1 of 5   US 2010/0042841 A1

                                    Fig. I
                                                         Y 100
Patent Application Publication   Feb. 18, 2010 Sheet 2 of 5   US 2010/0042841 A1

             Fig. 3

                                                               310
                                        GENERATE SHARED
                                             SECRET

                                                               312
                                    GENERATEA UILAEDKEY
                                      AND A SOREDKEY

                                                               31
                                      USE UAEDKEY FOR
                                        COMMUNICATIONS
                                        BETWEEN NODES

                                     GENERATE NEW SHARED       316
                                      SECRETUSING STORED
                                         KEY TO ENCRYPT
                                        COMMUNICATIONS

                                                               318
                                     GENERATE NEW PAR OF
                                      KEYS (AUTILIZEDKEY
                                       AND A STOREDKEY
Patent Application Publiication   Feb. 18, 2010 Sheet 3 of 5   US 2010/0042841 A1

   81.
   I

         HOONW
Patent Application Publication   Feb. 18, 2010 Sheet 4 of 5   US 2010/0042841 A1

                Fig. 5

                                                              510
                                        GENERATE SHARED
                                             SECRET

                                                              512
                                     GENERATE AUTIZEDKEY
                                        AND A STOREDKEY

                                      USE UTILIZEDKEY FOR     51A
                                        COMMUNICATIONS
                                        BETWEEN NODES

                                                              516
                                      NEW SHARED SECRET
                                    GENERATED BY ONE NODE

                                      NEW SHARED SECRET       518
                                       COMMUNICATED TO
                                      OTHER NODESUSING
                                           STOREDKEY

                                                              520
                                     GENERATE NEW PAR OF
                                       KEYS (AUTILIZEDKEY
                                        AND A STOREDKEY
Patent Application Publication   Feb. 18, 2010 Sheet 5 of 5   US 2010/0042841 A1
US 2010/0042841 A1                                                                                             Feb. 18, 2010

           UPDATING AND DISTRIBUTING                                nications by blocking or altering these communications. This
               ENCRYPTION KEYS                                      mode is commonly referred to as "playing Man-in-the
                                                                    Middle” (MitM).
                    TECHNICAL FIELD                                  0008 Asymmetric public-key encryption has been used to
                                                                    allow a node A to send a pair-wise key to a second node B. The
 0001. The present invention relates generally to a system          pair-wise key is encrypted using the public key of node B,
and method for providing security to communication net              which is available to anyone; but it can only be decrypted by
works and, more particularly, to a system and method for            using the private key of node B, which only B knows. With the
generating and distributing encryption keys.                        proper selection of public and private keys, the discovery of
                                                                    the private key is rendered computationally infeasible.
                       BACKGROUND                                    0009. A problem with applying this approach is that it is
                                                                    Vital that each node have a unique private key—not merely
 0002. In order to provide confidentiality to communica             unique within the network, but unique throughout the world.
tions among nodes of a network, it is well known to provide         Otherwise, it would be possible for an attacker to learn the
encryption for the messages. In general, it is best to provide a    private key of target node B by finding another entity that is
different encryption key for each pair of communicating             using the same public key. To prevent this, asymmetric pub
nodes, so that the messages of Such a pair-wise communica           lic-key encryption pairs must be purchased and managed.
tion are private to that pair. In this manner, a third node, even    0010. One attempt to provide secure communications is a
if it is exposed to the message (as will generally happen in a      symmetric public-key encryption technique. In one example
network operating on a shared medium), will be unable to            known as the Diffie-Hellman exchange, nodes A and B
decrypt and understand this communication.                          securely negotiate an encryption key using public messages.
 0003. The encryption keys, however, must be provided to            Generally, two numbers, p and g, are publicly known as
each pair of nodes before the encryption keys may be used to        parameters characteristic of the exchange; and each node
encrypt communications. It is most important that the encryp        selects a particular number (e.g., Ra for node A and Rb for
tion keys be provided to the communicating nodes in a secure        node B) that each node uses to derive a value (e.g., g” modp
manner, since ifa third node learns the pair's encryption keys,     for A and g” mod p for B). These derived values are com
the third node will be able to intercept and decrypt commu          municated to each other unsecured and unencrypted over the
nications between the communicating nodes, thereby violat           communications network, so that node A knows Ra and g”
ing their privacy. Unfortunately, the most convenient method        mod p, and node B knows Rb and g” modp. Both node A and
for exchanging the confidential encryption keys is the net          node B are then able to calculate the quantity g' mod p,
work itself.                                                        which canthus be used in an agreed-upon manner to generate
 0004. Accordingly, a first problem with providing secure           the pair-wise key which is used to encrypt future communi
communications between two nodes is the ability to commu            cations between nodes A and B. A third node, however, that
nicate, over a shared medium, confidential information (Such        only knows (g“ mod p) and (g' mod p) is not able to
as encryption keys) that enables encryption between two             calculate the quantity g' mod p.
nodes of the network, without that confidential information          0011. The Diffie-Hellman exchange protocol discussed
being made available to other nodes.                                above is relatively safe against passive eavesdroppers,
 0005. A second problem is that even if the confidential            because of the computational difficulty of solving this so
information is communicated between nodes without being             called “discrete logarithm problem.” A third node will not be
compromised, the use of the confidential information to             able to learn the pair-wise key from simply observing this
encrypt messages over time may allow a third node to derive         exchange, even though it is not encrypted. This type of solu
the confidential information, thereby allowing the third node       tion, however, may not provide secure communications
to intercept and decrypt future communications. The more            against a MitMattack.
messages encrypted with a particular key that are sent, the          0012 For example, if a third node, e.g., node C, is serving
more material becomes available to an attacker attempting to        as a relay node between nodes A and B, node C can play MitM
discover the key. Given enough time and material, any               by intercepting messages between nodes A and B. Upon
encryption system can be broken. It is therefore necessary,         receipt of a message from node A, node C engages in a
from time to time, to replace the encryption keys used by each      Diffie-Hellman exchange with node A. Node C also engages
pair, and this replacement must also be done in a way that          in a Diffie-Hellman exchange with node B. Node C can fur
preserves confidentiality.                                          ther alter the address-field parameters of packets sent to nodes
 0006 Generally, there are two modes in which an attacker           A and B, so the address of node C does not appear in the
can violate confidentiality. In a passive mode, commonly            packets, and nodes A and Bare unaware that communications
referred to as “eavesdropping, the attacker learns the encryp       are being held with node C rather than with each other.
tion key being used by a pair of nodes, and simply reads the         0013. In another attempt, the Diffie-Hellman exchange
information being passed back and forth.                            protocol has been enhanced for protection against the MitM
 0007. In another mode, the attacker is able to prevent             problem. One system is referred to as the password-authen
direct contact between the two nodes of the pair and can            ticated key (PAK) exchange protocol. In this protocol, the
interpose itself between them. This can happen, for example,        Diffie-Hellman exchange is conducted with messages that are
if the two nodes of the pair are in disjoint networks or sub        encrypted by using a password that is known both to node A
networks, for which the attacker's node is serving as a relay.      and to node B, but not to node C. Node C cannot interfere in
In this scenario, every communication from one node to the          the exchange between nodes A and B, because node C cannot
other node passes through the attacker's node. In that case, if     interpret the exchanged messages.
the attacker learns the pair's encryption key, it is possible for    0014. The price for this safety from a MitMattack is that
the attacker's node to interfere directly in the pair's commu       the password that is shared by nodes A and B must be com
US 2010/0042841 A1                                                                                              Feb. 18, 2010

municated between them before performing the Diffie-Hell              0022. In accordance with another preferred embodiment
man exchange. Because of the need for complete secrecy of            of the present invention, a computer program product for
the password, the password should not be communicated over           providing secure communications is provided. The computer
the communications network where it may be intercepted by            program product includes computer program code for deriv
node C. Often times, this process of distributing the password       ing a shared secret, deriving a utilized key and a stored key,
is slow and inefficient; in general, it should be used only          and for encrypting messages with the utilized key. When it is
rarely.                                                              time to replace the utilized key for encrypting messages, the
 0015. Furthermore, although the PAK exchange protocol               computer program product includes computer program code
is safe against a MitMattack, the pair-wise key must still be        for generating a new shared secret using the stored key to
replaced eventually, since its use creates material for attack. If   encrypt any messages sent in the process. From the new
one were sure that the pair-wise key had not yet been discov         shared secret, the computer program product includes com
ered by an attacker, it would be adequate to conduct the             puter program code for deriving a new utilized key and a new
normal Diffie-Hellman exchange to generate the new pair              stored key. The new utilized key is used thereafter to encrypt
wise key using the current pair-wise key to encrypt messages         messages.
in the exchange. However, if there were the possibility that the
current key had already been discovered, this would not be                    BRIEF DESCRIPTION OF THE DRAWINGS
safe, because the attacker could use the relay node C to step         0023 For a more complete understanding of the present
into the exchange and play MitM. The change of key would
then not be able to "shake off node C.                               invention, and the advantages thereof, reference is now made
 0016 Since one could never really be sure that the key had          to the following descriptions taken in conjunction with the
not been discovered, over the duration of its use, the safe way      accompanying drawing, in which:
to proceed is to use the PAK exchange again. However, this            0024 FIG. 1 is a network diagram embodying features of
also has risks. For example, the encryption provided by mul          the present invention;
tiplying a message by a fixed password is relatively weak, and        0025 FIG. 2 is another network diagram embodying fea
if the PAK exchange is to be used every time the pair-wise key       tures of the present invention;
is replaced, the password itself is at risk of being discovered,      0026 FIG. 3 is a flow chart for creating and distributing
because each message sent utilizing the password in the              encryption keys in accordance with an embodiment of the
encryption provides more material for an attacker to discover        present invention;
the password itself.                                                  0027 FIG. 4 is a message flow diagram for creating and
 0017 Thus, when using the PAK exchange protocol to set              distributing encryption keys in accordance with an embodi
up the pair-wise keys, if one also uses it to replace these keys,    ment of the present invention;
there is the risk of exposing the password by over-use. Yet, if       0028 FIG. 5 is a flow chart for creating and distributing
one does not use the PAK exchange, but only the Diffie               encryption keys in accordance with another embodiment of
Hellman exchange unprotected by the password, there is the           the present invention; and
risk of a node C playing MitM.                                        0029 FIG. 6 is a message flow diagram for creating and
 0018. Accordingly, there is a need for a system and a               distributing encryption keys in accordance with another
method for updating and distributing encryption keys which           embodiment of the present invention.
avoids the two problems described above.
                                                                         DETAILED DESCRIPTION OF ILLUSTRATIVE
             SUMMARY OF THE INVENTION                                               EMBODIMENTS
 0019. These and other problems are generally solved or              0030 The making and using of the presently preferred
circumvented, and technical advantages are generally                 embodiments are discussed in detail below. It should be
achieved, by preferred embodiments of the present invention          appreciated, however, that the present invention provides
which provides a secure system and method for generating             many applicable inventive concepts that can be embodied in a
and distributing encryption keys.                                    wide variety of specific contexts. The specific embodiments
 0020. In accordance with a preferred embodiment of the              discussed are merely illustrative of specific ways to make and
present invention, a method for providing secure communi             use the invention, and do not limit the scope of the invention.
cations is provided. The method includes generating a shared          0031. The present invention will be described with respect
secret known to a first node and a second node. The shared           to preferred embodiments in a specific context, namely a pair
secret is used to generate a utilized key and a stored key. The      of nodes communicating with each other. The invention may
utilized key is used to encrypt messages between the first           also be applied, however, to other communications, such as
node and the second node. At some point, a new shared secret         multicasts, broadcasts, or other multi-way communications
is generated and a new utilized key and a new stored key is          in which communications are being conducted with several
derived from the new shared secret. The new utilized key is          nodes.
then used to encrypt further messages.                                0032. With reference now to FIG. 1, there is shown a
 0021. In accordance with another preferred embodiment               network environment 100 embodying features of the present
of the present invention, a method of communicating with a           invention. In the network environment 100, node A commu
network node is provided. The method includes generating a           nicates directly with node B. It should be noted that node A
shared secret, and generating a first key and a second key           and node B are illustrated as being directly connected for
based at least in part on the shared secret. Messages are            illustrative purposes only. In this scenario, nodes A and B are
encrypted using the first key. A step of replacing the shared        communicatively coupled to the same network/sub-network
secret, the first key, and the second key is performed. The step     Such that communications between node A and node B are
of replacing the shared secret includes encrypting one or            essentially sent directly between each other. The network
more messages using the second key.                                  may include, for example, a local-area network (LAN) and/or
US 2010/0042841 A1                                                                                              Feb. 18, 2010

a wide-area network (WAN), and may include wired and/or            noted that in the preferred embodiment, the password and the
wireless links, the Public-Switched Telephone Network              first shared secret are not utilized for communications after
(PSTN), wireless communications network, or the like.              the utilized key and the stored key are generated.
 0033. This type of network environment is subject to pas           0038. The utilized key and the stored key may be derived
sive attacks, e.g., eavesdropping, but it relatively safe from     by any Suitable mechanism as long as it is computationally
MitMattacks because a network/sub-network does not act as          infeasible to determine the stored key on the basis of knowing
a relay point for communications between nodes A and B. A          only the utilized key. For example, in one embodiment, the
passive attack is illustrated in FIG. 1 by node C and the dotted   utilized key and the stored key are derived by pre-arranging
line. Node C may simply be another node on the same net            the use of two different functions using the shared secret as
work/sub-network as nodes A and B such that node C may             the input. The two functions may be, for example, two inde
monitor the traffic on the communications link between nodes       pendent cryptographic hash functions, the outputs of which
A and B.                                                           are fixed-size Strings that are computationally impractical to
 0034 FIG. 2 illustrates a network environment 200                 reverse-map. In this manner, the shared secret, and hence the
embodying features of the present invention. The network           stored key, cannot be uncovered by a third party even if the
environment 200 is similar to the network environment 100,         utilized key is discovered.
except that in this situation all communications between            0039. As another example, the newly-generated shared
nodes A and Bare relayed by node C. This scenario may occur        secret can be used as a key to encrypt messages to conduct
in situations in which nodes A and B are not in the same           another exchange protocol. Such as Diffie-Hellman exchange,
network or Sub-network. Messages sent from node A to node          to generate the two new keys. In order to increase the diffi
B are first sent to node C. Node C evaluates the addressing        culty, two consecutive exchanges could be used, one for each
info in the packets and forwards the messages to node B.           key.
Accordingly, while this situation lends itself to MitMattacks,      0040. As yet another example, the newly-generated shared
embodiments of the present invention as discussed in greater       secret can be used as a password in an authenticated exchange
detail below provide a mechanism to reduce the probability of      protocol, e.g., another PAK exchange, to generate new keys.
a MitMattack, if not to prevent it altogether.                     As discussed above, authentication exchange protocols such
 0035. It should be noted that, unless indicated otherwise,        as PAK adds another level of protection, particularly against
all functions described herein may be performed in either          MitMattacks. In order to increase difficulty, two consecutive
hardware or software, or some combination thereof. In a            exchanges could be used, one for each key.
preferred embodiment, however, the methods described                0041 As yet another example, one node can autono
below are performed by node A and/or node B, thereby pro           mously generate two new keys and transmit the two new keys
viding secure communications therebetween. Preferably,             to the other node using the shared secret as an encryption key.
nodes A and B include functions performed by a processor           For example, after the shared secret is derived in step 310,
Such as a computer or an electronic data processor in accor        node A can autonomously generate the utilized key and the
dance with code Such as computer program code, Software,           stored key. Node A can then encrypt the utilized key and the
and/or integrated circuits that are coded to perform Such          stored key using the newly-created shared secret as an
functions, unless indicated otherwise. The nodes may be, for       encryption key. After encrypting, node A transmits the
example, any electronic device Such as a personal computer,        encrypted utilized key and stored key to node B. Thereafter,
a wireless device, a cellphone, a mainframe computer, or the       nodes A and B can communicate securely using the utilized
like.                                                              key as an encryption key. In this approach, however, an
 0036 FIGS. 3 and 4 illustrate a method of performing an           attacker having insight into the mechanism by which node A
embodiment of the present invention, wherein FIG.3 is a flow       is generating the utilized key and the stored key may create a
chart and FIG. 4 illustrates the steps of the flow chart in the    security breach, making this method less desirable than using
context of communications between nodes A and B for fur            one of the other approaches.
ther illustration. The process begins in step 310, wherein a        0042. As illustrated in step 314, the utilized key is used to
shared secret is generated. In an embodiment, the shared           encrypt communications between the nodes.
secret is generated independence on a password that is known        0043. At some point, it is desirable to replace the utilized
only to the communicating nodes, such as nodes A and B. The        key as illustrated in step 316. As discussed above, the more
password may be communicated from one node to the other            the utilized key is used in communications, the more infor
off-line, or it could be entered via a local communication         mation is available to an attacker, and the greater the prob
interface such as USB or Bluetooth. Preferably, however, the       ability that the attacker will be able to derive the utilized key.
password is not communicated over the network. In reliance         Accordingly, it is desirable that the utilized key be replaced
on the secrecy of the password, the shared secret is generated     from time to time.
using a secure exchange protocol. Such as PAK exchange              0044 Replacing the utilized key, however, is different than
protocol communicated via network communications. The              the initial exchange because nodes A and Balready have a key
use of an exchange protocol. Such as PAK, allows for the easy,     unknown to an attacker, i.e., the stored key. Accordingly, by
quick, and efficient generation of a shared secret, while pro      using the stored key to encrypt messages during an exchange
viding protection from eavesdropping as well as MitM               protocol, an algorithmically more robust form of security can
attacks. Other protocols and/or mechanisms, however, may           be provided.
be utilized.                                                        0045. It should be appreciated that because the stored key
 0037 Next, a utilized key and a stored key are derived            has not been previously used, an attacker has no material
from the shared secret. The utilized key is used immediately       available to attempt to derive the stored key. The use of the
for encrypting communications between node A and node B,           stored key to encrypt communications to replace the utilized
while the stored key is saved for use later to generate a new      key will be the first use of the stored key. Therefore, even if the
shared secretas discussed in greater detail below. It should be    utilized key has already been discovered by the attacker, it
US 2010/0042841 A1                                                                                              Feb. 18, 2010

will still be impossible for node C to either eavesdrop or play     utilized key is used for communications between nodes. At
MitM when the stored key is used. Furthermore, because the          some point, the new utilized key may be replaced with yet
stored key does not employ the password used in the initial         another utilized key. The process may be repeated as many
exchange, e.g., the initial PAK exchange, the use of the stored     times and as often as desired.
key does not entail any additional exposure of the password.         0053. This method illustrated in FIGS. 5 and 6 uses fewer
The cryptographic protection of this replacement process is         message exchanges than the method of FIGS. 3 and 4, and is
stronger than the cryptographic protection of the initial           easily generalized for distributing keys to protect multicast
exchange to generate the first shared secret, because the com       communications.
putation required to test each guess at the key can be much          0054. It should be appreciated that, when the stored key is
greater, depending on the specific encryption algorithm             used for the replacement transaction, even if node C had
employed, than it would have been to test each guess at the         already Succeeded in discovering the utilized key, node C
password.                                                           would not know the stored key, so node C would not be able
 0046. In an embodiment, a Diffie-Hellman exchange pro              to interfere in the replacement. Even if node Chad been acting
tocol may be used Such that the messages are encrypted using        as MitM, it would be "shaken off when the utilized key is
the stored key. As a result of the Diffie-Hellman exchange          replaced.
protocol, a new shared secret known only to nodes A and B is         0055. Furthermore, unlike in the PAK exchange protocol,
generated. In other embodiments, other exchange protocols           the password is not used after the first utilized and stored keys
may be used.                                                        are derived, thereby providing no additional material to an
 0047 Next, in step 318, a new utilized key and a new               attacker. Rather, the stored key is used to exchange and share,
stored key is derived from the new shared secret generated in       e.g., via the Diffie-Hellman exchange, other secrets to derive
step 316. The same mechanisms may be used to generate the           a new utilized key and a new stored key. Even if the utilized
new utilized and stored keys as discussed above with refer          key were to be discovered by an attacker, the stored key would
ence to step 312. The generation of the new utilized key and        still be unknown.
the new stored key may use the same mechanism or a different         0056. It should be noted that care should be taken to ensure
mechanism from the mechanism used to generate the first             that communication can take place during the key-replace
utilized key and the first stored key (step 312).                   ment process. In particular, if two nodes are engaged in a
 0048. Thereafter, the process returns to step 314, wherein         data-transfer communication during the same period in which
the new utilized key is used for communications between             the utilized key is being replaced, it may be necessary to agree
nodes. At some point, the new utilized key may be replaced          upon which key is used for each message, so that the two
with yet another utilized key. The process may be repeated as       separate streams of communication are not confused. One
many times and as often as desired.                                 approach is to identify each key with a number that is dis
 0049 FIGS. 5 and 6 illustrate steps in an alternative              played on each message. Another approach is for the two
embodiment of the present invention, wherein FIG. 5 illus           nodes to negotiate a message-Sequence number for the
trates steps in a flow chart and FIG. 6 illustrates steps in the    change of key. In order to increase the difficulty for a success
context of messages sent between nodes A and B. The method          ful attack, this message-Sequence negotiation can be
begins in steps 510 and 512, wherein a shared secret is deter       encrypted with the current utilized key.
mined and shared between nodes A and B, and a utilized key           0057. Furthermore, it may be desirable to provide end-to
and a stored key is generated, respectively. Steps 510 and 512      end encryption not just for the communications between one
may be performed similarly to step 310 and 312, respectively,       node and another, but between two applications which are
as discussed above with reference to FIG. 3. In step 514,           served at these two nodes. The methods described in this
similar to step 314 of FIG.3, the utilized key is used for secure   teaching can easily be generalized to cover this case. For
communications between nodes A and B.                               example, if ten keys are needed for application-level encryp
 0050. Next, in step 516, one of the communicating nodes            tion, at the time the utilized and stored node-level keys are
generates a new shared secret. For example, node A may              created, the shared secret can also be used as input to generate
generate a new shared secret using any suitable technique. It       ten utilized and stored application-level keys, by a method
should be noted that either node may generate the new shared        that is known to both sides. Provided it is computationally
secret based on some parameter, Such as use, time, access, or       infeasible to invert this method, the security provided by the
the like. It is also contemplated that the node generating the      protocol is extended to the application level without signifi
new shared secret may be pre-arranged to be a particular            cant extra effort.
node, alternating between nodes, both nodes, or the like. One        0.058 Embodiments of the present invention may be uti
of ordinary skill in the art will realize that the methods          lized in any type of communications over a network. In one
described herein may be automated and carried out with little       particular embodiment, the techniques discussed herein are
or no overhead and intervention, thereby allowing frequent          utilized to perform secure communications in a home net
(and secure) changes of the utilized key.                           work, in which the nodes of the home network are joined by
 0051. The new shared secret is encrypted using the stored          wired and/or wireless links. Such a network may be made up
key and communicated to the other node(s) in step 518.              of sub-networks with each node within a sub-network com
Because the stored key has yet to be used, it is highly improb      municating directly with the other nodes of the sub-network
able that a third party may derive the stored key even if the       using the shared medium. Home networks may also allow a
utilized key has been discovered.                                   node in one Sub-network to communicate with a node in a
 0052. Thereafter, in step 520, a new utilized key and a new        different sub-network by depending on one or more relay
stored key are derived from the new shared secret. The new          nodes. Thus, the issue of MitM interference is of interest as
utilized key and stored key may be derived in a similar manner      well.
as discussed above with reference to step 320 of FIG. 3.             0059. One environment in which embodiments of the
Thereafter, the process returns to step 514, wherein the new        present invention may be particularly useful is described in
US 2010/0042841 A1                                                                                           Feb. 18, 2010

U.S. patent application Ser. No. 12/164.792, filed on Jun. 30.    0065. Although the present invention and its advantages
2008, by Vladimir Oksman, Neal King, and Charles Bry              have been described in detail, it should be understood that
(Atty. Dock. No. 2008P50985 US) (hereinafter “Oksman'),           various changes, Substitutions and alterations can be made
which is incorporated herein by reference. A security control     herein without departing from the spirit and scope of the
ler (SC) function resides on one node that possesses all pass     invention as defined by the appended claims. Moreover, the
words needed to set up communications with each of the            Scope of the present application is not intended to be limited
nodes of the network. Using the password for each node, the       to the particular embodiments of the process, machine, manu
SC sets up a key for node-to-SC encrypted communication           facture, composition of matter, means, methods and steps
(the NSC key) for each node. The SC then uses the NSC keys        described in the specification. As one of ordinary skill in the
to manage or facilitate the creation of keys for node-to-node     art will readily appreciate from the disclosure of the present
encrypted pair-wise communication (the NN keys). The set of       invention, processes, machines, manufacture, compositions
NN keys applicable for each node are encrypted by the SC          of matter, means, methods, or steps, presently existing or later
using the NSC key for that respective node and sent to it.        to be developed, that perform substantially the same function
 0060 Techniques described herein may be used to                  or achieve Substantially the same result as the corresponding
enhance the method of creating and distributing the keys          embodiments described herein may be utilized according to
among the SC and the other nodes in any or all of these           the present invention. Accordingly, the appended claims are
situations. For example, if the SC resides in node A and the      intended to include within their scope Such processes,
NSC key for node B is to be created, the techniques described     machines, manufacture, compositions of matter, means,
above can be applied to create stored and utilized NSC keys       methods, or steps.
for mode B. Replacements of the NSC keys can be conducted           What is claimed is:
repeatedly without the risk of further exposing the passwords.      1. A method for providing secure communications, the
With regard to the NN keys, the methods described above           method comprising:
may be used to allow the nodes to replace the NN keys as
described above by direct node-to-node messages, without            generating a shared secret known to a first node and a
any intervention by the SC.                                            second node:
 0061 Oksman further describes a method in which the                generating a utilized key and a stored key from the shared
nodes generate NN keys using the SC as an intermediary. A              Secret;
requester node sends messages encrypted by the NSC key for          using the utilized key to encrypt messages between the first
node D to the SC, which decrypts the messages. The SC then             node and the second node;
encrypts the messages with the NSC key for an addressee             generating a new shared secret known to the first node and
node and sends the result to the addressee node. In this way,          the second node; and
the requester node and the addressee node co-generate a             deriving a new utilized key and stored key.
shared secret.                                                      2. The method of claim 1, wherein the shared secret is
 0062. In this situation, by using the SC as a relay and          generated using at least in part a password-authenticated key
translator, a shared secret co-generated by the requester and     (PAK) exchange protocol.
the addressee may be used to createautilized key and a stored       3. The method of claim 1, wherein the generating the new
key. In this case, however, rather than using the PAK             shared secret is performed at least in part using a Diffie
exchange protocol for the initial generation of keys, a simpler   Hellman exchange protocol.
Diffie-Hellman exchange may be used (e.g., no password).            4. The method of claim 3, wherein communications of the
The exchange messages will be encrypted by using the NSC          Diffie-Hellman exchange protocol are encrypted using the
key for the requester node (for the requester-to-SC messages)     stored key.
and by the NSC key for the addressee node (for the SC-to            5. The method of claim 1, wherein the new shared secret is
addressee messages). In this scheme, MitM is not possible         generated by one of the first node and the second node.
unless one of these keys has been discovered. Thereafter, key       6. The method of claim 5, further comprising communi
replacement (creating new stored and utilized NN keys) may        cating the new shared secret to the other of the first node and
be done without using the SC as an intermediary, since the        the second node using the stored key.
requester and addressee nodes can now communicate                   7. The method of claim 1, wherein the generating the new
directly.                                                         shared secret includes encrypting one or more messages with
 0063 A System of transmitting multi-cast messages (e.g.,         the stored key.
messages from a specific source node R to a group of nodes          8. A method of communicating securely with a network
Addressee 1. Addressee 2, etc.) is also described in OkSman.      node, the method comprising:
The Source node R transmits a multicast node-to-node key            (a) generating a shared secret;
(MNN key) to the SC using the NSC key of node R. The SC             (b) generating a first key and a second key, the first key and
individually encrypts messages to each of the addressed                the second key being based at least in part on the shared
nodes conveying the MNN key to each node using the NSC                 Secret;
key of each respective node.                                         (c) encrypting one or more messages using at least the first
 0064. In the context of the present teaching, instead of               key:
conveying the MNN key itself, the individually encrypted             (d) replacing the shared secret, the replacing the shared
messages will convey a secret that will be used to generate             Secret including encrypting one or more messages using
two keys: the stored MNN key and the utilized MNN key.                  at least the second key; and
When the MNN key is to be replaced, this can be done by              (e) re-generating the first key and the second key based at
direct multicast from node Rto the addressed nodes, using the           least in part on the replaced shared secret.
stored MNN key. The intermediary function of the SC is not          9. The method of claim 8, further comprising repeating
needed for MNN key replacement.                                   steps (c)-(e)a plurality of times.
US 2010/0042841 A1                                                                                           Feb. 18, 2010

   10. The method of claim 8, wherein step (a) is performed at          Secret including computer program code for sending at
least in part using a password authenticated key exchange               least one message encrypted with the stored key:
protocol.                                                            computer program code for deriving a new utilized key and
   11. The method of claim8, wherein step (d) is performed at           a new stored key from the new shared secret; and
least in part using a Diffie-Hellman exchange protocol.              computer program code for encrypting messages with the
   12. The method of claim 8, further comprising sending the            new utilized key.
shared secretto another node after the step of the replacing the      17. The computer program product of claim 16, wherein
shared secret.                                                     the computer program code for generating a new shared
   13. The method of claim 12, wherein the sending includes        secret includes computer program code for generating the
encrypting the shared secret with the second key.                  new shared secret, for encrypting the new shared secret using
   14. The method of claim8, wherein step (b) is performed at      the stored key, and for sending the encrypted new shared
                                                                   Secret.
least in part by using one or more key-exchange protocols.            18. The computer program product of claim 16, wherein
   15. The method of claim 14, wherein messages sent during        the computer program code for deriving a new shared secret
the one or more key-exchange protocols are encrypted using         includes computer program code for performing one or more
the shared secret.
  16. A computer program product for providing secure com          Diffie-Helman exchanges, messages of the Diffie-Hellman
munications, the computer program product having a                 exchanges being encrypted using the stored key.
medium with a computer program embodied thereon, the                  19. The computer program product of claim 16, further
computer program comprising:                                       comprising computer program code for sending the new uti
  computer program code for deriving a shared secret;              lized key and the new stored key to another node, the new
                                                                   utilized key and the new stored key being encrypted.
  computer program code for deriving a utilized key and a             20. The computer program product of claim 16, wherein
     stored key;                                                   the computer program code for deriving the shared secret
  computer program code for encrypting messages with the           includes computer program code to perform a password
     utilized key:                                                 authenticated key (PAK) exchange.
  computer program code for generating a new shared secret,
     the computer program code for generating a new shared                               c   c   c   c   c