CN110036598B - 通信***、服务器装置、用户装置、方法、计算机程序 - Google Patents

通信***、服务器装置、用户装置、方法、计算机程序 Download PDF

Info

Publication number
CN110036598B
CN110036598B CN201780075233.XA CN201780075233A CN110036598B CN 110036598 B CN110036598 B CN 110036598B CN 201780075233 A CN201780075233 A CN 201780075233A CN 110036598 B CN110036598 B CN 110036598B
Authority
CN
China
Prior art keywords
user
solution
server
generated
apparatuses
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201780075233.XA
Other languages
English (en)
Other versions
CN110036598A (zh
Inventor
中村贵利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTI Inc
Original Assignee
NTI Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTI Inc filed Critical NTI Inc
Publication of CN110036598A publication Critical patent/CN110036598A/zh
Application granted granted Critical
Publication of CN110036598B publication Critical patent/CN110036598B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

提供一种用于使进行加密通信的两个通信装置具有公用的初始解的安全的技术。大量的用户装置全部具有如果有相同的初始解,则在相同条件下生成相同解的功能,能够使用根据相同的初始解连续地生成的同步的解来进行加密通信。另外,所有用户装置和服务器有相同的初始解且具有在相同条件下生成相同解的功能,能够生成同步的解。服务器生成作为为了生成初始解所需的、且并非初始解本身的信息的同步信息(S2002),并将其发送到进行加密通信的两个用户装置中的至少一个(S2003)。两个用户装置利用该同步信息生成相同的初始解(S1004)。之后两个用户装置进行加密通信(S1005)。

Description

通信***、服务器装置、用户装置、方法、计算机程序
技术领域
本发明涉及通信技术,更详细而言涉及加密通信技术。
背景技术
例如,在因特网上向存在于因特网上的商店进行支付、通过网上银行查看自身的账户余额或向第三方进行汇款等情况下,进行这些操作的用户在自身的终端与上述商店等的服务器之间经由因特网进行通信。在该通信中当然需要防止恶意第三方窃听通信。
以防止通信被窃听为目的,加密通信技术不仅广泛应用于通过因特网接受与金钱有关的服务时的如上的情况,还广泛应用于进行除此之外一般通信的情况。
作为这样的技术之一,本申请发明人早先开发了一种技术,并致力于其普及。本申请发明人所提出的技术是如下技术。
概略地说明,在该技术中,两个通信装置经由因特网等网络进行通信。在这种情况下,两个通信装置具备解生成单元,该解生成单元生成连续罗列规定数量的字符、数字、符号中的至少一种而成的解。该解生成单元基于初始解来生成解,并且在相同条件下生成的解总是相同的。即,解具有初始值依赖性。举例来说,解生成单元所生成的解是伪随机数。
另外,两个通信装置具备加密单元。加密单元执行如下处理:将使用由解生成单元生成的解将作为发送对象的发送对象数据加密为加密数据。此外,两个通信装置具备发送单元,所述发送单元将加密单元生成的加密数据发送到作为通信对方的通信装置。
另外,两个通信装置具备从作为通信对方的通信装置接收加密数据的接收单元。另外,两个通信装置具备解密单元,所述解密单元执行使用由解生成单元生成的解将接收到的加密数据解密为发送对象数据的处理。
而且,要进行加密通信的两个通信装置具有公用初始解,因此,能够用它们都具有的解生成单元来生成相同的解。在本申请发明中,将这样的状况称为两个装置能够生成同步的解。而且,由于两个通信装置能够生成同步的解,所以相应的通信装置中的加密通信是极安全的。
例如,在两个装置执行公用密钥方式的通信的情况下,这两个装置共享规定加密或解密处理的算法和执行该算法时使用的公用密钥。在本申请发明人所提出的上述通信装置中,由执行通信的两个通信装置中的解生成单元如上所述地接连生成新的、同步的公用解。而且,上述两个通信装置中的加密单元和解密单元使用它们公用的解作为在公用定时改变的公用密钥,从而实现极高的通信安全性。
本申请发明人所提出的上述通信装置不仅在每次通信时产生解,而且能够在对发送对象数据进行加密的情况下的多个定时,在最频繁的情况下,通过切断发送对象数据,从而每当生成作为进行一次加密或解密处理的对象的一个单位的数据时,就产生新的解。即,本申请发明人所提出的上述通信装置,至少每进行一次通信时,根据情况在比其更频繁的定时更新执行加密通信时的公用密钥,例如,接连生成一次性公用密钥来进行加密通信,所以其密码强度极高。
另外,大体来说,根据上述解而被变更的对象不一定必须是公用密钥或其它密钥,也可以是算法。
在上述通信装置中,重要的是,由两个通信装置中的解生成单元生成的解彼此同步,并且如果不能实现这样的解的同步,则两个通信装置无法进行加密通信。因此,对于两个通信装置,要求在进行加密通信之前,共享为了使解同步而需要的相同的初始解。
然而,这有时是困难的。这是如下情况,即有大量通信装置,并且这些大量通信装置中的两个进行加密通信。例如,在大量个人计算机、移动电话、智能手机为上述通信装置的情况下,在这些通信装置中的两个进行作为通信的一例的电子邮件的往来的情况下,这两个通信装置需要在通信开始前具有公用初始解。在这种情况下,需要进行加密通信的两个通信装置对的数量庞大,并且要使这全部对中的两个通信装置具有公用初始解是费时的并且困难的。
然而,本申请发明人已经提出了用于解决如何使两个通信装置具有公用初始解这样的上述问题的技术。该技术除了与因特网连接的大量通信装置以外,还准备有控制装置,该控制装置管理两个通信装置之间的加密通信,也与因特网连接。这样的控制装置对开始加密通信之前的两个通信装置发送公用初始解。
由此,两个通信装置能够得到公用初始解,并用它们具有的解生成单元生成同步的解。
现有技术文献
专利文献
专利文献1:日本特开2009-177684
发明内容
发明所要解决的技术问题
然而,在从控制装置对两个通信装置发送了初始解的情况下,第三方可能会窃取从控制装置对两个通信装置发送的初始解,进而可能会滥用该初始解窃听在两个通信装置之间进行的加密通信。
如果将从控制装置对两个通信装置发送的初始解加密,并在两个通信装置将加密后的初始解解密并使用,则能够抑制发生这种事态的可能性,然而,虽然进行了加密,但不能完全消除在因特网上发送初始解本身所导致的风险。
本申请发明的技术问题是提供一种安全性高的技术,该技术用于使大量通信装置中要进行加密通信的两个通信装置具有生成加密通信中使用的同步的连续的解所需的公用初始解。
解决技术问题的技术方案
用于解决上述技术问题的本申请发明如下所述。
本申请发明为一种通信***,包括经由网络能够相互通信的大量的用户装置和进行所述用户装置之间的通信的控制的与所述网络连接的服务器装置而成。
该通信***中包含的所述用户装置分别具有:用户解生成单元,能够基于初始解连续地生成解,该解是罗列了规定数量的字符、数字、符号中的至少一种而成的,在相同条件下生成的解始终相同;用户加密单元,执行使用由所述用户解生成单元生成的所述解将作为发送对象的发送对象数据加密为加密数据的处理;用户发送单元,将所述加密数据发送到其它装置;用户接收单元,从其它装置接收所述加密数据;以及用户解密单元,执行使用由所述用户解生成单元生成的所述解将接收到的所述加密数据解密为所述发送对象数据的处理。此外,各用户装置在作为要进行加密通信的两个所述用户装置的特定用户装置相互具有公用的所述初始解的情况下,能够通过由两个所述用户装置的所述用户解生成单元分别生成在两个所述用户装置之间同步的公用的所述解,将通过由对方的所述用户加密单元加密所述发送对象数据而生成的、且从对方的所述用户发送单元发来并由自身的所述用户接收单元所接收的加密数据利用自身的所述用户解密单元解密为所述发送对象数据,从而所述特定用户装置能够进行加密通信。进而,各用户装置能够利用所述用户发送单元向所述服务器装置发送作为特别指定所述特定用户装置的双方的信息的特定信息。
另一方面,所述服务器装置具备:服务器接收单元,从所述特定用户装置的一方接收所述特定信息;服务器解生成单元,能够基于在所述用户装置的每一个中与别的所述用户装置中的所述初始解相同的所述初始解,生成与由所述用户装置各自所具有的所述用户解生成单元生成的所述解相同、且与由所述用户装置各自的所述用户解生成单元生成的解同步的所述解;同步信息生成单元,使用由所述服务器解生成单元生成的所述解生成同步信息,所述同步信息是为了所述特定用户装置得到相同的所述初始解并在所述特定用户装置之间使所述解同步所需的信息;以及服务器发送单元,将所述同步信息发送到所述特定用户装置中的至少一个所述用户装置。
本申请发明中的用户装置和服务器装置分别相当于背景技术部分中说明的通信装置和控制装置。
各用户装置具备相当于背景技术部分中说明的通信装置中的解生成单元的用户解生成单元,能够通过该用户解生成单元连续地生成解。作为用户装置中进行加密通信的两个用户装置的特定用户装置在它们具有公用初始解的情况下,与背景技术部分中说明的通信装置同样地,能够通过该用户解生成单元在同步的状态下生成相同的解,能够使用该解进行加密通信。
另一方面,相当于在背景技术部分中说明的控制装置的本申请发明中的服务器装置与控制装置同样地,具有用于使特定用户装置具有相同的初始解的功能。服务器装置具备与各用户装置具有的用户解生成单元相同的服务器解生成单元。服务器解生成单元能够生成与通过用户装置各自所具有的用户解生成单元生成的解相同、且与通过用户装置各自的用户解生成单元生成的解同步的解。服务器装置对特定用户装置中的至少一个所述用户装置发送同步信息。同步信息不是初始解本身,而是如下的信息:接收到同步信息的用户装置能够基于该同步信息生成初始解,是使用由服务器解生成单元生成的解或基于该解而生成的信息。在本申请发明中,服务器装置将同步信息发送到特定用户装置中的至少一个用户装置,但由于该同步信息不是初始解本身,因此即使假设该同步信息被恶意第三方窃取,该恶意第三方也无法窃听在用户装置之间进行的加密通信。另外,在服务器装置发送同步信息的对方仅为特定用户装置中的一个用户装置的情况下,与对特定用户装置中的两个用户装置发送同步信息的情况相比,同步信息被窃取的可能性下降,因此,在用户装置之间进行的加密通信被窃听的可能性变得更低。
当然,服务器装置也可以在加密之后将同步信息发送到特定用户装置中的至少一个用户装置。在这种情况下,在服务器装置和用户装置之间执行的加密通信可以是任何的例如公知、周知的加密通信,也可以是本申请发明人提出的使用连续产生的解的加密通信。服务器装置具备服务器解生成单元,所述服务器解生成单元能够生成与由所有用户装置中的用户解生成单元产生的解相同的解,因此能够使所有用户装置与所产生的解同步。即,具备服务器解生成单元的服务器装置对于在服务器装置与用户装置之间执行与在用户装置之间执行的加密通信相同的加密通信,并不特别困难。
如上所述,在本申请发明中,当在构成特定用户装置的两个用户装置之间进行加密通信的情况下,由两个用户装置的用户解生成单元分别生成同步的解。此外,本申请发明的服务器装置的服务器解生成单元和各用户装置的用户解生成单元能够生成同步的解。
对这两种情况下使解同步的方法进行说明。在由两个用户解生成单元生成同步的解的情况下和在由服务器解生成单元和用户解生成单元生成同步的解的情况下,使解同步的方法不变,因此为了简单起见,在以下的说明中,将用户解生成单元和服务器解生成单元都简称为“解生成单元”。
解生成单元也可以通过将初始解代入包含该时间点的时刻作为变量的数学式而生成。因此,在彼此远离的场所的两个独立的装置中的解生成单元能够生成同步的解。这与在网上银行等领域中广泛实用化的利用令牌等已经实用化的被称为时间同步的同步方法相近。
另一方面,用于由解生成单元生成解的方法能够是例如通过将过去的解代入规定的数学式而得到新的解,接着通过将该解代入相同的数学式而得到新的解。这与如上述的利用令牌等已经实用化的被称为事件同步的同步方法相近。在采用事件同步的情况下,关于两个解生成单元生成的解,在将按相同顺序生成的解相互比较时相同。例如,两个解生成单元可以通过如下算法来生成解,所述算法将解设为X,使用Xn+1=f(Xn)的函数来生成下一个解。在这种情况下,解生成单元可以保持紧接着之前的解,并且删除在那之前生成的所有解。即,解生成单元可以只保持用于生成下一个解所需的解。在这种情况下,例如如果生成第四解,则解生成单元通过将所保持的第三解X3以X4=f(X3)的方式代入Xn+1=f(Xn)的式中,从而生成第四解。另外,如果使用多个过去的解,例如使用如Xn+1=f(Xn)+f(Xn-1)的数学式,则解生成单元应保持的解是紧接着之前使用的两个解。这样,为了生成新解而由解生成单元使用的解不一定限于一个。并且,这种情况的初始解为两个。这样,初始解不一定限于一个,有时为多个。
本申请发明人还提出了用于构成如上所述的通信***的服务器装置作为本申请发明的一个方式。该服务器装置的效果与上述通信***的效果相同。
作为本申请发明的一例的服务器装置与大量的用户装置结合而构成通信***,该通信***包括经由网络能够相互通信的所述大量的用户装置以及进行所述用户装置之间的通信的控制的与所述网络连接的服务器装置而成。
这种情况下的所述用户装置分别具有:用户解生成单元,能够基于初始解连续地生成解,所述解是罗列了规定数量的字符、数字、符号中的至少一种而成的,在相同条件下生成的解始终相同;用户加密单元,执行使用由所述用户解生成单元生成的所述解将作为发送对象的发送对象数据加密为加密数据的处理;用户发送单元,将所述加密数据发送到其它装置;用户接收单元,从其它装置接收所述加密数据;以及用户解密单元,执行使用由所述用户解生成单元生成的所述解将接收到的所述加密数据解密为所述发送对象数据的处理。此外,各用户装置在作为要进行加密通信的两个所述用户装置的特定用户装置相互具有公用的所述初始解的情况下,能够通过由两个所述用户装置的所述用户解生成单元分别生成在两个所述用户装置之间同步的公用的所述解,将通过由对方的所述用户加密单元加密所述发送对象数据而生成的、且从对方的所述用户发送单元发来并由自身的所述用户接收单元所接收的加密数据利用自身的所述用户解密单元解密为所述发送对象数据,从而所述特定用户装置能够进行加密通信。另外,各用户装置能够通过所述用户发送单元向所述服务器装置发送作为特别指定所述特定用户装置的双方的信息的特定信息。
而且,服务器装置具备:服务器接收单元,从所述特定用户装置的一方接收所述特定信息;服务器解生成单元,能够基于在所述用户装置的每一个中与别的所述用户装置中的所述初始解相同的所述初始解,生成与由所述用户装置各自所具有的所述用户解生成单元生成的所述解相同、且与由所述用户装置各自的所述用户解生成单元生成的解同步的所述解;同步信息生成单元,使用由所述服务器解生成单元生成的所述解生成同步信息,所述同步信息是为了所述特定用户装置得到相同的所述初始解并在所述特定用户装置之间使所述解同步所需的信息;以及服务器发送单元,将所述同步信息发送到所述特定用户装置中的至少一个所述用户装置。
本申请发明人还提出了与这样的服务器装置结合而构成本申请发明的通信***的用户装置,作为本申请发明的一个方式。该用户装置的效果与上述通信***的效果相同。
作为一例的用户装置具有:用户解生成单元,能够基于初始解连续地生成解,该解是罗列了规定数量的字符、数字、符号中的至少一种而成的,在相同条件下生成的解始终相同;用户加密单元,执行使用由所述用户解生成单元生成的所述解将作为发送对象的发送对象数据加密为加密数据的处理;用户发送单元,将所述加密数据发送到其它装置;用户接收单元,从其它装置接收所述加密数据;以及用户解密单元,执行使用由所述用户解生成单元生成的所述解将接收到的所述加密数据解密为所述发送对象数据的处理。此外,各用户装置在作为要进行加密通信的两个所述用户装置的特定用户装置相互具有公用的所述初始解的情况下,能够通过由所述特定用户装置的所述用户解生成单元分别生成在所述特定用户装置之间同步的公用的所述解,将通过由对方的所述用户加密单元加密所述发送对象数据而生成的、且从对方的所述用户发送单元发来并由自身的所述用户接收单元所接收的加密数据利用自身的所述用户解密单元解密为所述发送对象数据,从而所述特定用户装置能够进行加密通信。另外,用户装置具备在从所述服务器装置接收到所述同步信息时使用所述特定信息生成所述初始解的单元。
此外,本申请发明人还提出了一种计算机装置作为本申请发明的一个方式,所述计算机装置用于通过与具备所述用户发送单元和所述用户接收单元的规定的通信装置相结合而构成本申请发明的用户装置,其中,所述计算机装置具备所述用户解生成单元、所述用户加密单元、所述用户解密单元以及用于生成所述初始解的所述单元。在此,规定的通信装置的一例是智能手机或移动电话,计算机装置的一例是能够搭载于规定的通信装置的SIM卡(Subscriber Identity Module Card,用户身份模块卡)。
所述服务器装置也可以将成为用于生成所述初始解的基的所述解作为所述同步信息发送到作为所述特定用户装置的所述用户装置的双方。在这种情况下,作为所述特定用户装置的所述用户装置都可以使用从所述服务器装置发来的所述解,由它们的所述用户解生成单元在同一条件下生成新的所述解,并将所生成的公用的所述解作为所述初始解,由此也可以设为能够在所述特定用户装置之间使所述解同步。
在这种情况下,服务器装置将作为同步信息的解发送到作为特定用户装置的两个用户装置的双方。该解可以是由服务器解生成单元生成的解,也可以不是这样的解。用户装置的用户解生成单元基于该解生成至少一个解,并将该生成的解用作初始解。即,在这种情况下,从服务器装置发送到两个用户装置的解不是在两个用户装置进行加密通信时用于生成解的初始解,而是被用作两个用户装置中的用户解生成单元用于生成公用初始解的初始解。如上所述,具有公用解的用户解生成单元能够在同一条件下同步地生成相同解。被从服务器装置给予作为同步信息的解的两个用户装置中的用户解生成单元只要相互共享同一条件,就能够生成相同的解,所以能够将该新生成的公用的解用作初始解。
两个用户装置的用户解生成单元可以预先共享上述同一条件,也可以根据从服务器装置发送的信息来共享。例如,如果用户解生成单元以与上述令牌等中的时间同步相近的方法来取得解的同步,则能够将该条件设为“在特定时间(该时间可以在过去,也可以是未来的时间,例如能够设为“在接收到该解的日期的100天后的0时0分”。)将以该解作为初始解而生成的解设为新的初始解”。此外,例如如果用户解生成单元以与上述令牌等中的事件同步相近的方法来取得解的同步,则能够将该条件设为“将以该解作为初始解而生成的第几个解例如第三解设为新的初始解”。
在任意情况下,从服务器装置发送到两个用户装置的解即同步信息都不被用作特定用户装置进行加密通信的情况下的初始解,而仅用于生成该初始解。因此,即使万一同步信息被第三方窃取,由特定用户装置进行的加密通信也不会由此而被第三方窃听。
所述服务器装置也可以将成为用于生成所述初始解的基的、且能够由所述特定用户装置中的一个用户装置中的所述用户解生成单元生成的所述解作为所述同步信息,发送到作为所述特定用户装置的另一个所述用户装置。在这种情况下,可以设为所述特定用户装置中的未接收到所述同步信息的一个所述用户装置将由它的所述用户解生成单元在规定条件下生成的新的所述解设为初始值,并且所述特定用户装置中的接收到所述同步信息的另一个所述用户装置使用从所述服务器装置发来的所述解,由它的所述用户解生成单元在与由一个所述用户装置中的所述用户解生成单元生成新的所述解时的条件相同的条件下生成新的所述解,并将其作为所述初始解,也可以是由此能够在所述特定用户装置之间使所述解同步。
在这种情况下,服务器装置将作为同步信息的解发送到作为特定用户装置的两个用户装置中的另一个。该解是能够由作为特定用户装置的两个用户装置中的一个的用户解生成单元生成的解。如上所述,服务器装置的服务器解生成单元能够生成与由所有用户装置的用户解生成单元生成的解同步的解。因此,用户装置能够掌握能由作为特定用户装置的两个用户装置中的一个的用户解生成单元生成的解。
在这种情况下,特定用户装置中的未接收到同步信息的一个用户装置将由其用户解生成单元在规定条件下生成的新的所述解设为初始值。此外,特定用户装置中接收到同步信息的用户装置使用从服务器装置发送来的解,在与由一个用户装置中的用户解生成单元生成新的解时的条件相同的条件下,由其用户解生成单元生成新的解,并将其设为初始解。也就是说,特定用户装置中的一个用户装置使用自身以前的解(初始解),生成在特定用户装置之间进行加密通信时的初始解,特定用户装置中的另一个用户装置通过将从服务器装置发来的作为同步信息的解用作用于生成初始解的初始解,从而生成初始解。
在这种情况下,两个用户装置的解生成单元应共享的同一条件可以在两个用户装置之间预先共享,也可以通过从服务器装置发送的信息来共享。条件的内容本身与上述的内容相同。
即使在这种情况下,从服务器装置送到特定用户装置中的另一个用户装置的解即同步信息也不被用作特定用户装置进行加密通信时的初始解,而仅用于生成该初始解。因此,即使万一同步信息被第三方窃取,由此,特定用户装置进行的加密通信也不会被第三方窃听。而且,在这种情况下,对特定用户装置中的一个用户装置连同步信息都不发送。因此,在服务器装置和上述一个用户装置之间,甚至理论上都不存在同步信息被窃取的可能性。
所述服务器装置也可以将对成为所述初始解的、能够由所述特定用户装置中的一个用户装置中的所述用户解生成单元生成的所述解和能够由所述特定用户装置中的另一个用户装置中的所述用户解生成单元生成的解这双方进行可逆运算而得到的信息,作为所述同步信息发送到作为所述特定用户装置的所述用户装置的任意用户装置。在这种情况下,可以设为所述特定用户装置中的未接收所述同步信息的所述用户装置将由它的所述用户解生成单元在规定条件下生成的新的所述解设为所述初始值,并且所述特定用户装置中的接收到所述同步信息的所述用户装置通过对从所述服务器装置发来的所述同步信息使用由它的所述用户解生成单元生成的新的所述解进行所述可逆运算的逆运算,从而从所述同步信息中取出与由未接收到所述同步信息的所述用户装置生成的所述解公用的所述解,并将其设为所述初始解,也可以是由此能够在所述特定用户装置之间使所述解同步。
在这种情况下,服务器装置将同步信息发送到作为特定用户装置的用户装置的任意用户装置。该同步信息是通过对能够由作为特定用户装置的两个用户装置的用户解生成单元生成的两个解进行可逆运算而得到的信息。通常,这些同步信息能够设为对两个解进行乘法运算而得的信息,或取两个解的异或而得的信息。如上所述,服务器装置的服务器解生成单元能够生成与由所有用户装置的用户解生成单元生成的解同步的解。因此,用户装置能够将能够由作为特定用户装置的两个用户装置的双方中的用户解生成单元生成的解一起掌握。因此,通过对掌握的这两个解进行如上所述的可逆运算,服务器装置能够得到如上所述的同步信息。该同步信息被送到特定用户装置中的两个用户装置中的任意用户装置。
接收到同步信息的用户装置使用由自身的用户解生成单元生成的新的解,对同步信息进行与上述的可逆运算相反的运算即逆运算。例如,如果在服务器装置为了得到同步信息而执行的上述可逆运算是乘法运算,则用户装置进行将同步信息除以由自身的用户解生成单元生成的解的除法运算。于是,接收到同步信息的用户装置能够得到在其用户装置中本来无法得到的、如果是未接收同步信息的一侧的用户装置的用户解生成单元则能够生成的解。换言之,接收到同步信息的用户装置能够从同步信息中取出如果是未接收同步信息的一侧的用户装置的用户解生成单元则能够生成的解。接收到同步信息的用户装置将其设为初始解。另一方面,未接收到同步信息的用户装置将由自身的用户解生成单元生成的解设为初始解。能够使该解与接收到同步信息的用户装置作为初始解的解一致。
在这种情况下,需要使由未接收到同步信息的用户装置的用户解生成单元生成解时的条件、和由服务器装置的服务器解生成单元生成用于生成同步信息的解时的条件一致。这样的条件可以在该用户装置和服务器装置之间预先共享,也可以根据从服务器装置发送到该用户装置的信息而在两者之间共享。条件的内容本身与上述的内容相同。
在这种情况下,从服务器装置发送到特定用户装置中的任意用户装置的解即同步信息也不被用作特定用户装置进行加密通信时的初始解,而仅用于生成该初始解。因此,即使万一同步信息被第三方窃取,由此,特定用户装置进行的加密通信也不会被第三方窃听。而且,在这种情况下,甚至对特定用户装置中的用户装置中的一方也不发送同步信息。因此,在服务器装置和相关用户装置之间,甚至理论上都不存在同步信息被窃取的可能性。
所述服务器装置也可以将第一信息作为所述同步信息而发送到一个所述用户装置,并且将第二信息作为所述同步信息而发送到另一个所述用户装置,所述第一信息是对成为所述初始解的所述解和能够由所述特定用户装置中的一个用户装置中的所述用户解生成单元生成的所述解这双方进行可逆运算而得到的信息,所述第二信息是对成为所述初始解的所述解和能够由所述特定用户装置中的另一个用户装置中的所述用户解生成单元生成的所述解这双方进行可逆运算而得到的信息。在这种情况下,所述特定用户装置中的一个所述用户装置通过对从所述服务器装置发来的所述同步信息使用由它的所述用户解生成单元生成的新的所述解进行所述可逆运算的逆运算,从而从作为所述第一信息的所述同步信息中取出所述解,并将其设为所述初始解,并且所述特定用户装置中的另一个所述用户装置通过对从所述服务器装置发来的所述同步信息使用由它的所述用户解生成单元生成的新的所述解进行所述可逆运算的逆运算,从而从作为所述第二信息的所述同步信息中取出与由一个所述用户装置取出的解公用的所述解,并将其作为所述初始解,并且可以设为由此能够在所述特定用户装置之间使所述解同步。
这种情况下的服务器装置将同步信息发送到作为特定用户装置的两个用户装置的双方。在这种情况下,发送到两个用户装置的同步信息不同。发送到作为特定用户装置的两个用户装置中的一个的同步信息是第一信息,所述第一信息是对成为所述初始解的解、和能够由所述特定用户装置中的一个用户装置中的所述用户解生成单元生成的解这双方进行可逆运算而得到的信息。发送到作为特定用户装置的两个用户装置中的另一个的同步信息是第二信息,所述第二信息是对成为所述初始解的解、和能够由所述特定用户装置中的另一个用户装置中的所述用户解生成单元生成的解这双方进行可逆运算而得到的信息。可逆运算的示例如上所述。如上所述,服务器装置的服务器解生成单元能够生成与由所有用户装置中的用户解生成单元所生成的解同步的解,所以能够生成由作为特定用户装置的两个用户装置的双方中的用户解生成单元生成的解。通过对这两个解的每一个和之后在特定用户装置中用作初始解的相同的解进行可逆运算,服务器装置能够生成上述的第一信息和第二信息。之后在特定用户装置用作初始解的上述解可以是由服务器解生成单元生成的解,也可以不是由服务器解生成单元生成的解。关于第一信息的同步信息被发送到特定用户装置中的两个用户装置的一个,关于第二信息的同步信息被发送到特定用户装置中的两个用户装置的另一个。
接收到关于第一信息的同步信息的特定用户装置中的一个用户装置使用由自身的用户解生成单元生成的解,对同步信息进行与上述可逆运算相反的运算即逆运算。这样,一个用户装置能够得到在该用户装置中本来无法得到的、服务器装置准备的解。换言之,接收到同步信息的一个用户装置能够从同步信息中取出成为初始解的解。一个用户装置将其设为初始解。另一方面,接收到关于第二信息的同步信息的特定用户装置中的另一个用户装置使用由自身的用户解生成单元生成的解,对同步信息进行与上述可逆运算相反的运算即逆运算。这样,另一个用户装置能够得到在该用户装置中本来无法得到的、服务器装置准备的解。换言之,接收到同步信息的另一个用户装置能够从同步信息中取出成为初始解的解。另一个用户装置将其设为初始解。这与一个用户装置中的初始解一致。
在这种情况下,需要使由一个用户装置的用户解生成单元生成解时的条件、和由服务器装置的服务器解生成单元生成在生成发送到该用户装置的同步信息时使用的由该用户装置的用户解生成单元生成的解时的条件一致。同样,需要使由另一个用户装置的用户解生成单元生成解时的条件、和由服务器装置的服务器解生成单元生成在生成发送到该用户装置的同步信息时使用的由该用户装置的用户解生成单元生成的解时的条件一致。相关条件可以在这些用户装置各自和服务器装置之间预先共享,也可以根据从服务器装置发送到这些用户装置的信息而在两者之间共享。条件的内容本身与上述的内容相同。
在这种情况下,从服务器装置发送到特定用户装置中的任意用户装置的解即同步信息不被用作特定用户装置进行加密通信时的初始解,而仅用于生成该初始解。因此,即使万一同步信息被第三方窃取,由此,特定用户装置进行的加密通信也不会被第三方窃听。
所述服务器装置可以由一个装置构成,也可以具有副服务器装置,所述副服务器装置是分别能够与网络连接的多个装置。
例如,所述服务器装置可以包括多个副服务器装置,所述多个副服务器装置能够生成在与所述用户装置中的至少多个用户装置之间同步的所述初始解,并且能够相互进行经由所述网络的加密通信。在这种情况下,所述特定用户装置也可以在生成在与两个副服务器装置的每一个之间同步的初始解的情况下,通过与这两个副服务器装置、或与能够与这双方进行加密通信的其它副服务器装置的协作,构成所述同步信息生成单元和所述服务器发送单元。
例如,设存在100个用户装置,将各用户装置编号为用户装置1~用户装置100。在这种情况下,设存在两个服务器装置,将各服务器装置编号为副服务器装置1~副服务器装置2。而且,设副服务器装置1和用户装置1~用户装置50能够生成同步的解,副服务器装置2和用户装置51~用户装置100能够生成同步的解。在这样的情况下,关于用户装置51~用户装置100中的任意两个用户装置,通过由以上说明的一个服务器装置,即能够与所有用户装置1~用户装置50同步地产生解的副服务器装置1供给同步信息,从而能够具有公用初始解,由此能够生成同步的解,因此,用户装置1~用户装置50中的任意两个用户装置能够执行如以上所说明的使用同步的解的加密通信。另一方面,关于用户装置51~用户装置100中的任意两个用户装置,通过由能够与所有用户装置51~用户装置100同步地产生解的副服务器装置2供给同步信息,从而能够具有公用初始解,由此能够生成同步的解,因此,用户装置51~用户装置100中的任意两个用户装置能够执行如以上说明的使用同步的解的加密通信。
但是,如果副服务器装置1和副服务器装置2相互不进行通信,或不进行与向用户装置提供同步信息相关的合作,则用户装置1~50中的任意一个用户装置和用户装置51~100中的任意一个用户装置无法具有公用初始解,由此不能具有同步的解,其结果是,无法执行如以上说明的使用同步的解的加密通信。举例来讲,与副服务器装置1相关联的、或被副服务器装置1管理的用户装置1~用户装置50和与副服务器装置2相关联的、或被服务器装置2管理的用户装置51~用户装置100属于不同组,并且在属于不同组的用户装置之间无法具有公用初始解,其结果是,无法执行如以上说明的使用同步的解的加密通信。
与此相对,在构成服务器装置的多个副服务器装置能够相互进行经由网络的加密通信的情况下,不能从公用的副服务器装置接收同步信息的、属于不同组的两个用户装置(它们为特定用户装置)能够根据需要(如上所述,有时不对构成特定用户装置的至少一个提供同步信息),从能够生成与这两个用户装置同步的解的副服务器装置接收同步信息的供给。即,多个副服务器装置各自在同一组中,通过能够作为以上说明的服务器装置发挥功能的副服务器装置进行协作,进行协作的多个副服务器装置能够表现得像是对于更多的用户装置的新的服务器装置,该更多的用户装置包含有由该协作的多个副服务器装置管理的、属于不同组的用户装置。由此,属于不同组的用户装置能够执行如以上说明的使用同步的解的加密通信。
在这种情况下,由多个副服务器装置中的哪个来生成同步信息皆可。关于由某副服务器装置用于生成同步信息所需的、且该副服务器装置不与其它副服务器装置协作就无法获得的信息,例如关于由属于与某副服务器装置所属的组不同组的用户装置生成的解的信息,能够以加密状态经由网络从该用户装置所属的组中的副服务器装置向生成同步信息的副服务器装置提供。此外,在需要将某副服务器装置生成的同步信息提供给属于该副服务器装置所不属于的组的某用户装置的情况下,生成了同步信息的副服务器装置向管理应发送同步信息的用户装置所属的组的副服务器装置发送所生成的同步信息,由此,能够经由该副服务器装置向应发送同步信息的用户装置发送。
在实际的实施方式中,例如,一般认为是各提供商准备对与该提供商签约的用户装置进行管理的副服务器装置,各提供商准备好的副服务器装置与其它提供商准备好的副服务器装置进行协作。当然,准备各副服务器装置的不限于提供商,例如,也可考虑为如下实施方式:以SSL(Secure Sockets Layer,安全套接字层)或TLS(Transport LayerSecurity,传输层安全性)的架构来进行实际应用的认证站那样的机关准备各副服务器装置。
另外,在上述示例中,要进行通信的属于两个不同组的两个用户装置根据需要,从属于这些用户装置分别所属的组的、互为共同的两个副服务器装置分别被提供同步信息,并且这两个副服务器装置仅通过它们进行协作,在它们之间直接交换所需的信息。然而,在这种情况下,两个副服务器装置不需要直接在两个副服务器装置之间交换所需的信息,而是可以通过其它副服务器装置交换所需的信息。此时,其它副服务器装置需要与上述两个副服务器装置分别进行加密通信,但是,上述两个副服务器装置不需要进行加密通信。例如,在上述示例中,假设某两个提供商准备好的副服务器装置分别管理多个用户装置,形成各个组。但是,在这种情况下,这两个提供商准备好的副服务器装置之间,由于这两个提供商位于不同的国家等原因,没有形成上述那样的协作关系。在这种情况下,如果存在可以与这两个副服务器装置分别协作的其它副服务器装置,换言之,如果存在与这两个副服务器装置分别建立了信任关系的其它副服务器装置,则只要将该其它副服务器装置放于它们之间,相互没有建立协作关系的副服务器装置彼此能够进行加密通信即可。如果相关通信路径都进行加密通信,那么用于生成同步信息所需的信息和所生成的同步信息都不会被第三方窃听。在这种情况下,上述其它副服务器装置不一定需要管理用户装置并如上所述地创建组,而是只起到对管理用户装置并如上述那样地创建组的两个副服务器装置进行中介的作用即可。在这一点上,可以说其它副服务器装置与直接和用户装置相连的上述两个副服务器装置不同。举例来说,这种情况下的其它副服务器装置是SSL或TLS下的高级认证站那样的装置。在如上级认证站那样发挥功能的“其它副服务器装置”存在于三个以上副服务器装置之中的情况下,“其它副服务器装置”也能够生成同步信息。另外,其它副服务器装置不一定必须是一个,也可以在上述两个副服务器装置之间***多个其它副服务器装置。在这种情况下,例如,当三个其它副服务器装置***于两个副服务器装置之间时,两个副服务器装置以例如“两个副服务器装置中的一个-其它副服务器装置-其它副服务器装置-其它副服务器装置-两个副服务器装置中的另一个”的方式连接。在此,在用“-”表达的部分中,其两侧的副服务器装置进行加密通信。
另外,在各副服务器装置之间执行的加密通信可以是公知的或周知的,也可以是在本申请中反复说明的、使用同步的解的加密通信。在这种情况下,进行加密通信的副服务器装置彼此需要具有用于生成同步的解的单元和功能。
本申请的发明人还提出了由用于构成上述通信***的服务器装置执行的方法作为本申请发明的一个实施方式。该方法的效果与上述通信***的效果相同。
该方法的一个示例是由服务器装置执行的方法,该服务器装置通过与大量的用户装置结合而构成通信***,该通信***包括经由网络能够相互通信的所述大量的用户装置以及进行所述用户装置之间的通信的控制的与所述网络连接的服务器装置而成。
在这种情况下,所述用户装置分别具有:用户解生成单元,能够基于初始解连续地生成解,该解是罗列了规定数量的字符、数字、符号中的至少一种而成的,在相同条件下生成的解始终相同;用户加密单元,执行使用由所述用户解生成单元生成的所述解,将作为发送对象的发送对象数据加密为加密数据的处理;用户发送单元,将所述加密数据发送到其它装置;用户接收单元,从其它装置接收所述加密数据;以及用户解密单元,执行使用由所述用户解生成单元生成的所述解将接收到的所述加密数据解密为所述发送对象数据的处理。用户装置在作为要进行加密通信的两个所述用户装置的特定用户装置相互具有公用的所述初始解的情况下,还能够通过由两个所述用户装置的所述用户解生成单元分别生成在两个所述用户装置之间同步的公用的所述解,将通过由对方的所述用户加密单元加密所述发送对象数据而生成的、且从对方的所述用户发送单元发来并由自身的所述用户接收单元所接收的加密数据利用自身的所述用户解密单元解密为所述发送对象数据,从而所述特定用户装置能够进行加密通信,并且能够通过所述用户发送单元向所述服务器装置发送作为特别指定所述特定用户装置的双方的信息的特定信息。
此外,所述服务器装置具备服务器解生成单元,该服务器解生成单元能够基于在所述用户装置的每一个中与别的所述用户装置的所述初始解相同的所述初始解,生成与所述用户装置各自具有的所述用户解生成单元所生成的解相同的、且与所述用户装置各自的所述用户解生成单元所生成的解同步的所述解,该方法的发明包括由所述服务器装置执行的如下过程:从所述特定用户装置的一方接收所述特定信息的过程;使用由所述服务器解生成单元生成的所述解生成同步信息的过程,其中所述同步信息是为了所述特定用户装置得到相同的所述初始解并在所述特定用户装置之间使所述解同步所需的信息;以及将所述同步信息发送到所述特定用户装置中的至少一个所述用户装置的过程。
本申请发明人还提出了由用于构成上述通信***的用户装置执行的方法作为本申请发明的一个实施方式。该方法的效果与上述通信***的效果相同。
该方法的一个示例是由以上说明的用户装置之一执行的方法,包括由所述用户装置执行的过程:由所述用户发送单元向所述服务器装置发送作为特别指定所述特定用户装置的双方的信息的特定信息的过程;以及在接收到所述同步信息时,使用所述特定信息生成所述初始解的过程。
本申请的发明人还提出了一种计算机程序作为本申请发明的一个实施方式,该计算机程序用于使得例如通用计算机作为用于构成上述通信***的服务器装置发挥功能。该计算机程序的效果与上述通信***的效果相同。
该计算机程序的一例是用于使计算机作为服务器装置发挥功能的计算机程序,该服务器装置与大量的用户装置结合而构成通信***,该通信***包括经由网络能够相互通信的所述大量的用户装置以及进行所述用户装置之间的通信的控制的与所述网络连接的服务器装置而成。
所述用户装置分别具有:用户解生成单元,能够基于初始解连续地生成解,所述解是罗列了规定数量的字符、数字、符号中的至少一种而成的,在相同条件下生成的解始终相同;用户加密单元,执行使用由所述用户解生成单元生成的所述解将作为发送对象的发送对象数据加密为加密数据的处理;用户发送单元,将所述加密数据发送到其它装置;用户接收单元,从其它装置接收所述加密数据;以及用户解密单元,执行使用由所述用户解生成单元生成的所述解将接收到的所述加密数据解密为所述发送对象数据的处理。此外,用户装置在作为要进行加密通信的两个所述用户装置的特定用户装置相互具有公用的所述初始解的情况下,能够通过由两个所述用户装置的所述用户解生成单元分别生成在两个所述用户装置之间同步的公用的所述解,将通过由对方的所述用户加密单元加密所述发送对象数据而生成的、且从对方的所述用户发送单元发来并由自身的所述用户接收单元所接收的加密数据利用自身的所述用户解密单元解密为所述发送对象数据,从而所述特定用户装置能够进行加密通信,并且,能够通过所述用户发送单元向所述服务器装置发送作为特别指定所述特定用户装置的双方的信息的特定信息。
计算机程序使得所述计算机作为如下单元发挥功能:服务器接收单元,从所述特定用户装置的一方接收所述特定信息;服务器解生成单元,能够基于在所述用户装置的每一个中与别的所述用户装置中的所述初始解相同的所述初始解,生成与由所述用户装置各自所具有的所述用户解生成单元生成的所述解相同、且与由所述用户装置各自的所述用户解生成单元生成的解同步的所述解;同步信息生成单元,使用由所述服务器解生成单元生成的所述解生成同步信息,所述同步信息是为了所述特定用户装置得到相同的所述初始解并在所述特定用户装置之间使所述解同步所需的信息;以及服务器发送单元,将所述同步信息发送到所述特定用户装置中的至少一个所述用户装置。
本申请的发明人还提出了一种计算机程序作为本申请发明的实施方式,该计算机程序用于使例如通用计算机作为用于构成上述通信***的用户装置发挥功能。该计算机程序的效果与上述通信***的效果相同。
该计算机程序的一例是用于使计算机作为与以上说明的服务器装置之一结合来构成所述通信***的用户装置而发挥功能的计算机程序。
该计算机程序用于使计算机作为如下单元发挥功能:用户解生成单元,能够基于初始解连续地生成解,该解是罗列了规定数量的字符、数字、符号中的至少一种而成的,在相同条件下生成的解始终相同;用户加密单元,执行使用由所述用户解生成单元生成的所述解将作为发送对象的发送对象数据加密为加密数据的处理;用户发送单元,将所述加密数据发送到其它装置;用户接收单元,从其它装置接收所述加密数据;用户解密单元,执行使用由所述用户解生成单元生成的所述解将接收到的所述加密数据解密为所述发送对象数据的处理;以及在从所述服务器装置接收到所述同步信息时使用所述特定信息生成所述初始解的单元。
该计算机程序在作为要进行加密通信的两个所述用户装置的特定用户装置相互具有公用的所述初始解的情况下,能够通过由所述特定用户装置的所述用户解生成单元分别生成在所述特定用户装置之间同步的公用的所述解,将通过由对方的所述用户加密单元加密所述发送对象数据而生成的、且从对方的所述用户发送单元发来并由自身的所述用户接收单元所接收的加密数据利用自身的所述用户解密单元解密为所述发送对象数据,从而所述特定用户装置能够进行加密通信。
附图说明
图1是示出第一实施方式的通信***的整体结构的图。
图2是示出图1所示的通信***中包含的用户装置的外观的图。
图3是示出图1所示的通信***中包含的用户装置的硬件结构的图。
图4是示出在图1所示的通信***中包含的用户装置的内部生成的功能块的框图。
图5是示出在图1所示的通信***中包含的服务器的内部生成的功能块的框图。
图6是示出在图1所示的通信***中进行通信时所执行的处理的流程的图。
图7是示出第二实施方式的通信***的整体结构的图。
图8是概念性地示出图7所示的通信***中的服务器和用户装置的关系的图。
图9是概念性地示出在图7所示的通信***中,作为为了从服务器向用户装置提供同步信息而构筑的一例的通信状态的图。
图10是概念性地示出在图7所示的通信***中,为了从服务器向用户装置提供同步信息而构筑的另一通信状态的图。
图11是概念性地示出在图7所示的通信***中,为了从服务器向用户装置提供同步信息而构筑的又一通信状态的图。
具体实施方式
以下,对本发明的优选的第一、第二实施方式进行说明。
另外,在各实施方式及其变形例的说明中,对共同的对象标注重复的附图标记,且根据情况省略共同的说明。另外,关于各实施方式及其变形例,在将它们结合或将它们的一部分彼此置换而没有特别矛盾的情况下,可以将它们中的两个或两个以上适当地结合或将它们的一部分适当地置换。
<第一实施方式>
图1概略地示出作为本申请发明的发送接收***的第一实施方式的通信***的整体结构。
第一实施方式的通信***构成为包括大量的用户装置100-1~100-N(以后,有时也简单记载为“用户装置100”)以及服务器200。它们都能够连接到网络400。
网络400不限于此,而在本实施方式中为因特网。
本实施方式中的用户装置100相当于本申请中所说的用户装置。此外,本实施方式中的服务器200相当于本申请中所说的服务器装置。
关于用户装置100-1~100-N,以其中的两个相互进行通信为前提。用户装置100-1~100-N由各用户拥有。在本实施方式中,该通信设为是如后所述的使用连续地产生的解的加密通信,但是用户装置100-1~100-N除了能够执行加密通信之外,当然可以还能够执行加密通信以外的通信。通过公知或周知的技术来实现该加密通信以外的通信即可。用户装置100可以是用于使其它用户装置100经由网络400浏览主页的计算机。
在本实施方式中,服务器200为一个,并且一个服务器200管理所有用户装置100。反言之,在本实施方式中,图1中仅图示由一个服务器200管理的用户装置100。
但不限于此,本实施方式中的服务器200能够是具有某种程度的公共性质的企业,例如,具有成为SSL或TSL下的认证站的程度的信用的企业或公共团体所管理的企业。或者,在用户装置100连接到网络400的情况下,服务器200可以由实现到该网络400的连接的提供商进行其管理。
用户装置100包括计算机。更具体地说,本实施方式中的用户装置100由通用计算机构成。
接下来,说明用户装置100的结构。各用户装置100-1~100-N的结构就与本申请发明的关联而言是相同的。
用户装置100是移动电话、智能手机、平板电脑、笔记本电脑、台式电脑等。它们都能够经由网络400进行通信,并且被要求能够通过安装后述的计算机程序而在其内部生成后述的功能块,然后执行后述的处理,只要能够执行以上功能,则除此以外的规格无特别限制。
例如,如果用户装置100是智能手机或平板电脑,则作为智能手机的用户装置100可以是例如Apple Japan有限责任公司进行制造、销售的iPhone,作为平板电脑的用户装置100可以是例如Apple Japan有限责任公司进行制造、销售的iPad。以下,虽然不限于此,但以用户装置100是智能手机的情况来进行说明。
图2示出用户装置100的外观的一例。
用户装置100具备显示器101。显示器101用于显示静止图像或运动图像,能够使用公知或众所周知的显示器。显示器101例如是液晶显示器。用户装置100还具备输入装置102。输入装置102是用户用来对用户装置100进行期望的输入的装置。输入装置102能够使用公知或众所周知的装置。本实施方式中的用户装置100的输入装置102是按钮型的,但不限于此,也能够使用数字小键盘、键盘、轨迹球、鼠标等。特别是,在用户装置100是笔记本电脑、台式电脑的情况下,输入装置102可以是键盘、鼠标等。另外,在显示器101为触摸面板的情况下,显示器101兼具输入装置102的功能,在本实施方式中设为如此。
图3示出用户装置100的硬件结构。
硬件包括CPU(central processing unit,中央处理单元)111、ROM(read onlymemory,只读存储器)112、RAM(random access memory,随机存取存储器)113和接口114,它们通过总线116相互连接。
CPU 111是进行运算的运算装置。CPU 111通过执行例如ROM 112或RAM 113中记录的计算机程序来执行后述的处理。虽然未图示,但用户装置100的硬件也可以具备HDD(harddisk drive,硬盘驱动器)等其它大容量记录装置,计算机程序可以被记录于大容量记录装置。
这里所说的计算机程序至少包括用于使该用户装置100作为本申请发明的用户装置发挥功能的计算机程序。该计算机程序可以是预先安装于用户装置100的程序,也可以是后来安装的程序。向用户装置100安装该计算机程序可以经由存储卡等规定的记录介质来进行,也可以经由LAN或因特网等网络来进行。
ROM 112记录有CPU 111用于执行后述的处理所需的计算机程序和数据。作为ROM112中记录的计算机程序,不限于此,如果用户装置100是智能手机,则记录有为了使用户发挥作为智能手机的功能所需的例如用于执行通话、电子邮件的计算机程序、数据。用户装置100还能够基于经由网络400接收到的数据来浏览主页,安装有用于使其能够浏览主页的公知的web浏览器。
RAM 113提供CPU 111用于进行处理所需的工作区域。根据情况,也可以记录有上述的计算机程序、数据。
接口114在通过总线116连接的CPU 111、RAM 113等与外部之间进行数据的交换。在接口114连接有上述的显示器101和输入装置102。从输入装置102输入的操作内容从接口114被输入到总线116。另外,众所周知,用于在显示器101上显示图像的图像数据从接口114被输出到显示器101。
另外,接口114连接于用于经由作为因特网的网络400与外部进行通信的公知的单元即发送接收机构(省略图示),由此,用户装置100能够经由网络400发送数据、并且经由网络400接收数据。经由该网络400的数据的发送接收有时通过有线进行,有时通过无线来进行。例如,在用户装置100是智能手机的情况下,通常通过无线来进行该通信。只要能够进行如上发送接收,则发送接收机构的结构能够是公知或众所周知的结构。发送接收机构从网络400接收到的数据由接口114接收,从接口114交付到发送接收机构的数据由发送接收机构经由网络400而被发送到外部,例如,从其它用户装置100发送到服务器200。作为发送接收机构从网络400接收的数据,至少有从服务器200发送来的同步信息、和从其它用户装置100发送来的加密数据。作为从发送接收机构发送到外部的数据,至少有发送到服务器200的特定信息、和发送到其它用户装置100的加密数据。
通过CPU 111执行计算机程序,由此在用户装置100内部生成如图4所示的功能块。另外,以下功能块可以通过用于使用户装置100作为本申请发明的用户装置发挥功能的上述计算机程序单独的功能来生成,也可以通过上述计算机程序和安装于用户装置100的OS及其它计算机程序的协作来生成。
在用户装置100内,根据与本申请发明的功能的关系,生成输入部121、主控制部122、用户解生成部123、用户解记录部124、用户初始解生成部125、用户加密解密部126和输出部127。另外,以上的输入部121、主控制部122、用户解生成部123、用户解记录部124、用户初始解生成部125、用户加密解密部126和输出部127的功能可以存在于内置在用户装置100中的SIM卡上。在这种情况下,这些功能不限于通过安装于用户装置100的计算机程序生成的功能。
输入部121接收来自接口114的输入。
来自接口114的输入有例如通过输入装置102输入的特定信息。特定信息用于特别指定此后要进行加密通信的两个用户装置100(本申请发明中的特定用户装置)。关于从自身开始进行通信的一侧的用户装置100的特定信息至少必须是对于所有用户装置100唯一的信息,例如是用户装置100的IP地址、电子邮件地址、URL、SNS(social networkingservice,社交网络服务)的ID等,对于接收通信一侧的用户装置100也是同样的。在本实施方式中,将作为特定用户装置的两个用户装置100的双方都用IP地址来特别指定,但不限于此。另外,在该实施方式中,当用户操作输入装置102而输入用于特别指定此后要进行加密通信的对方的用户装置100的信息时,自动地生成特别指定该用户装置100的IP地址和对方的用户装置100的IP地址这双方的特定信息。也可以不是这样,而是通过用户将进行加密通信的两个用户装置100的IP地址的双方输入到输入装置102,从而生成特定信息。
另外,用户通过操作输入装置102,能够生成发送对象数据。该发送对象数据是在用户装置100之间以加密状态进行发送接收时作为发送接收的对象的数据。例如,在该发送接收是电子邮件的发送接收的情况下,该数据为电子邮件的数据,在一个用户装置100提供因特网上的虚拟商店的主页而另一个用户装置100是要在该虚拟商店购买商品的顾客的情况下,从虚拟商店的用户装置100侧发送到顾客的数据是,例如,用于向顾客的用户装置100提供商品的选择画面、用于让顾客填写顾客信息、派送目的地信息等的格式的数据,从顾客的用户装置100侧发送到虚拟商店的用户装置100的数据是特别指定顾客选择为购买对象的商品及其数量的信息,或是顾客以上述格式填入的顾客信息、派送目的地信息。发送对象数据是文本数据、图像数据、声音数据等,其形式不限。发送对象数据不一定是用户操作输入装置102而输入的数据其本身,而可以是通过用户装置100对其进行规定处理而制作的数据,可以说通常是这样的数据。
作为从接口114对输入部121输入的信息,另外还有从发送接收机构发送到接口114的上述同步信息和加密数据。
如上所述,对输入部121,输入从输入装置102输入的特定信息,输入作为从发送接收机构输入的发送对象数据的同步信息和加密数据。
输入部121接收到这些信息后,在接收到特定信息和同步信息的情况下,将它们发送到主控制部122,在接收到发送对象数据和加密数据的情况下,将它们发送到用户加密解密部126。
主控制部122进行在用户装置100内生成的各功能块整体的控制。
主控制部122有时从输入部121接收特定信息。在接收到特定信息的情况下,主控制部122将其发送到输出部127。
主控制部122有时接收同步信息。在接收到同步信息的情况下,主控制部122将该同步信息发送到用户初始解生成部125。
用户解生成部123生成解。关于解的生成方法将在后说明,本实施方式中的解是罗列了规定数量的字符、数字、符号中的至少一种的解,另外,基于初始解,在相同条件下生成的解始终相同。典型地,解是伪随机数,并且在该实施方式中,各解以其位数或字符数始终恒定的方式被生成。
关于用户解生成部123生成解的情况,首先是用户加密解密部126进行如后述的加密处理或解密处理的情况。用户加密解密部126进行加密处理或解密处理的情况是指该用户装置100进行与其它用户装置100的加密通信时的情况,其细节在后说明。用户解生成部123将用于用户装置100之间的加密通信而制作的解发送到用户加密解密部126。
此外,在同步信息被发送到用户初始解生成部125的情况下,用户装置100中的用户解生成部123有时也生成解。此时生成的解是以生成用于加密通信的初始解为目的而生成。以生成用于加密通信的初始解为目的而生成的解被从用户解生成部123发送到用户初始解生成部125。
用户解记录部124记录有在用户解生成部123生成解时所需的信息。该信息主要为真初始解的数据和初始解的数据。真初始解的数据及初始解的数据都对之后生成的解有影响。真初始解及初始解的数据是与解的数据相同的形式,即罗列了规定数量的字符、数字、符号的至少一种而成的,其位数或字符数有时为与解相同的数量,有时与解为不同数量。在本实施方式中不限于此,真初始解及初始解的数据是与解的数据相同的形式,真初始解及初始解被设为与解相同的位数或字符数。
在生成解时,用户解生成部123从记录于用户解记录部124的数据中读出所需的数据,并且使用读出的数据生成解。
在需要使用户装置100和服务器200同步地产生解的情况下,用户解生成部123读出真初始解或后述的解,并使用户装置100和服务器200同步地产生解。在至少生成最初的解的情况下,用户解生成部123使用记录于用户解记录部124的真初始解的数据(此外,真初始解是用于使用户装置100和服务器200同步地产生解的初始解,与本申请发明中所说的初始解不同,该初始解用于在用户装置100彼此进行使解同步的加密通信时使得在两个用户装置100产生同步的初始解)以及其它的数据。即,在用户解生成部123至少生成最初的解之前的状态下,在用户解记录部124中记录有真初始解的数据。
另一方面,在用户装置100彼此进行使解同步的加密通信时使得在两个用户装置100产生同步的初始解的情况下,用户解生成部123原则上读出记录于用户解记录部124的初始解的数据并使得在两个用户装置100产生同步的初始解。
对在用户解生成部123的解生成方法的细节将随后详述。
用户初始解生成部125用于使用同步信息,生成在作为特定用户的两个用户装置100进行使解同步的加密通信的情况下所需的初始解。如上所述,所生成的初始解用于在用户装置100彼此进行使解同步的加密通信时,使得在两个用户装置100产生同步的初始解。
如上所述,有时从主控制部122向用户初始解生成部125发送同步信息。在接收到该同步信息的情况下,用户初始解生成部125基于该同步信息生成初始解。在生成初始解时,用户初始解生成部125有时需要用户解生成部123生成的解。该解是与服务器200生成的解同步的解。在用户初始解生成部125需要解的情况下,用户初始解生成部125对用户解生成部123发送使解生成的指示。
接收到该指示的用户解生成部123生成解,并将其发送到用户初始解生成部125。
用户加密解密部126进行加密和解密处理中的至少一个,但不限于此,在本实施方式中设为进行加密和解密处理这双方。该加密和解密是用户装置100彼此之间进行加密通信所需的处理。
用户加密解密部126仅在从主控制部122允许进行加密、解密时进行加密及解密处理。
加密方法的细节将在后说明,在进行加密的情况下,用户加密解密部126对用户解生成部123发送使解生成的指示。用户解生成部123基于该指示生成解,并将其发送到用户加密解密部126。该解被用于在用户加密解密部126中的加密。在本实施方式中被加密的数据是基于从输入装置102输入的数据而生成的发送对象数据,但不限于此。由输入装置102生成的发送对象数据是明文的数据,而它由用户加密解密部126加密的结果是变为加密数据。由用户加密解密部126生成的加密数据被发送到输出部127。
解密方法的细节将在后说明,在进行解密的情况下,用户加密解密部126对用户解生成部123发送使解生成的指示。用户解生成部123基于该指示生成解,并将其发送到用户加密解密部126。该解被用于在用户加密解密部126中的解密。在本实施方式中被解密的数据是从其它用户装置100发送来的加密数据,但不限于此。加密数据是由发送来加密数据的用户装置100中的用户加密解密部126生成的数据,作为由用户加密解密部126将其解密后的结果,恢复为原本的发送对象数据。由用户加密解密部126生成的明文的解密数据被发送到输出部127。
输出部127将由用户装置100内的功能块生成的数据输出到接口114。
如上所述,有时从主控制部122向输出部127发送特定信息。输出部127将该特定信息输出到接口114。该特定信息从接口114被发送到发送接收机构,从发送接收机构经由网络400被发送到服务器200。
另外,有时从用户加密解密部126向输出部127发来加密数据。在接收到加密数据的情况下,输出部127将该加密数据输出到接口114。该加密数据从接口114被发送到发送接收机构,从发送接收机构经由网络400被发送到作为加密通信的对方侧的其它用户装置100。
另外,有时从用户加密解密部126向输出部127发来明文的发送对象数据。该发送对象数据是由其它用户装置100生成的数据。在接收到发送对象数据的情况下,输出部127将该发送对象数据输出到接口114。发送对象数据在用户装置100内被适当地利用,例如被发送到显示器101,使接收到该数据的显示器101进行与发送对象数据对应的显示。
接下来,对服务器200的结构进行说明。
服务器200在作为硬件来看的情况下,可以是现有的公知或众所周知的服务器。此外,其硬件结构可以是通常的,虽然省略图示,但粗略地说,能够沿袭用户装置100的硬件结构,其中,CPU 111、ROM 112、RAM 113和接口114通过总线116连接。然而,一般而言,服务器200通常具有HDD及其它大容量记录装置,在本实施方式中也是如此。
服务器200具备的CPU、ROM、RAM、接口、总线及大容量存储装置的结构、功能与用户装置100中的这些的结构、功能一样。此外,服务器200具备的接口与用户装置100具备的接口同样地,连接于用于经由网络400与服务器200外的设备进行通信的发送接收机构。服务器200具备的接口可以与用户装置100具备的接口同样地,连接于显示器、输入装置,但由于这与本申请发明几乎无关,因此省略其说明。
通过执行记录于服务器200的内部的ROM、大容量记录装置等的计算机程序,在服务器200的内部生成如以下说明的功能块。另外,以下的功能块可以通过用于使服务器200作为本申请发明的服务器发挥功能的计算机程序单独的功能来生成,也可以通过该计算机程序和安装于服务器200的OS及其它计算机程序的协作来生成。此外,上述计算机程序可以是预先安装于服务器200的程序,也可以是在出货后安装于服务器200的程序。在这种情况下,向服务器200安装上述计算机程序可以经由存储卡等规定的记录介质来进行,也可以经由LAN或因特网等网络来进行。这些情形与用户装置100的情况相同。
在服务器200内,根据与本申请发明的功能的关系,生成输入部221、主控制部222、服务器解生成部223、服务器解记录部224、同步信息生成部225以及输出部227(图5)。
输入部221接收来自接口的输入。
来自接口的输入例如是特定信息。特定信息是从用户装置100经由网络400发送来的信息,是服务器200由其发送接收机构接收到的信息。输入部221在接收到特定信息的情况下,将它们发送到主控制部222。
主控制部222进行服务器200内生成的各功能块整体的控制。
主控制部222有时从输入部221接收特定信息的数据。在接收到特定信息的数据的情况下,主控制部222将该数据发送到同步信息生成部225。
服务器解生成部223在接收到使解生成的指示的情况下生成解。服务器解生成部223有时如后所述从同步信息生成部225接收使解生成的指示,在接收到这样的指示的情况下生成解。
关于解的生成方法将在后说明,服务器解生成部223执行的解的生成是与各用户装置100的用户解生成部123执行的解的生成相同的方法。
在生成解的情况下,服务器解生成部223从记录于服务器解记录部224的数据中读出所需的数据,并使用读出的数据生成解。
在服务器解记录部224中,记录有在服务器解生成部223生成解时所需的信息。该信息主要是真初始解的数据或解的数据。真初始解的数据与记录于各用户装置100的用户解记录部124的真初始解的数据相同。真初始解在生成解的情况下被使用,但由于服务器200需要生成与所有用户装置100(用户装置100-1~用户装置100-N)同步的解,所以在至少一个解都没有生成的状态下,在服务器解记录部224中,记录有与用户装置100的数量相同数量的N个真初始解。此外,由于服务器解生成部223需要掌握各真初始解中的哪个真初始解是与由哪个用户装置100生成的解对应的真初始解,所以各真初始解以与用于特别指定各用户装置100的信息一对一地相关联的状态记录于服务器解记录部224。用于特别指定各用户装置100的信息是可在特定信息中包括的对各用户装置100唯一的信息,在本实施方式中是各用户装置100的IP地址,但不限于此。
在需要使用户装置100和服务器200同步地生成解的情况下,服务器200中的服务器解生成部223读出真初始解或后述的解,并使用户装置100和服务器200同步地生成解。在至少生成最初的解的情况下,服务器解生成部223使用记录于服务器解记录部224的真初始解的数据及其它数据。
对在服务器解生成部223的解的生成方法的细节将随后详述。
服务器解生成部223有时如上所述地从同步信息生成部225接受使解生成的指示,而在这种情况下,从同步信息生成部225还接收特定信息中包括的、作为用于特别指定两个特定用户装置的信息的两个IP地址。在从同步信息生成部225接收到两个IP地址的情况下,服务器解生成部223从服务器解记录部224读出与关联于这两个IP地址的至少一方的IP地址相关联的真初始解或解。然后,服务器解生成部223使用读出的该真初始解或解,生成新的解。在最先制作对于至少由某个IP地址特别指定的用户装置100的解的情况下,服务器解生成部223从服务器解记录部224读出与该IP地址相关联的真初始解。基于该真初始解,生成随后的解。详细内容在后说明,由此,服务器解生成部223能够生成与各用户装置100中的各用户解生成部123所生成的解相同的解。即,由服务器200生成的解和由用户装置100生成的解相互同步。
服务器解生成部223生成的解被发送到同步信息生成部225。
同步信息生成部225生成同步信息。同步信息是在特定用户装置所包括的两个用户装置100进行加密通信时,为了使为了进行该加密通信而两个用户装置100双方所需要的解同步,而两个用户装置100的至少一方需要的信息。简单地说,同步信息是为了在两个用户装置100使解同步所需的信息,而不是解本身。同步信息的细节将随后说明。另外,需要这样的同步信息的原因在于,在两个装置生成同步的解的情况下,如在本实施方式中已经说明的那样,进行加密通信的特定用户装置所包括的两个用户装置100需要公用的解(例如,在本实施方式中为初始解),以使服务器200和各用户装置100具有公用的真初始解,故必须向无法得知对方所具有的解的两个用户装置100提供用于使解同步的某些信息。在本实施方式中,设为由一个服务器200实现该功能,并且使用同步信息作为其具体方法,但不限于此。
同步信息生成部225在同步信息生成部225从主控制部222接收到特定信息的情况下生成同步信息。同步信息生成部225在生成同步信息的情况下,使用与在由特定信息而特别指定的用户装置100生成的解同步的解。为了使解生成,同步信息生成部225对服务器解生成部223发送使解生成的指示,向服务器解生成部223发送为了生成解所需的同步信息。由此,服务器解生成部223生成的解被发送到同步信息生成部225,同步信息生成部225能够使用接收到的解来生成同步信息。
在同步信息生成部225生成了同步信息的情况下,同步信息生成部225将该同步信息与特定信息一起发送到输出部227。
输出部227将由服务器200内的功能块生成的数据输出到接口。
如上所述,从同步信息生成部225向输出部227发送来同步信息和特定信息。输出部227在接收到同步信息时,将其与特定信息一起输出到接口。这些同步信息及特定信息从接口被发送到发送接收机构,从发送接收机构经由网络400被发送到通过特定信息特别指定的两个用户装置100的至少一方。
接下来,参照图6说明以上说明的发送接收***的使用方法和动作。
想要在自身的用户装置100和其它用户装置100之间进行加密通信的用户首先操作自己所拥有的用户装置100的输入装置102,输入用于特别指定想要进行加密通信的对方侧的用户装置100的特定信息。由此生成特定信息,该特定信息是用于特别指定作为想要进行加密通信的两个用户装置100的特定用户装置中的两个用户装置100的信息(S1001)。特定信息的数据经由接口114被发送到输入部121,从输入部121被发送到主控制部122。
当接收到特定信息时,主控制部122将特定信息发送到输出部127。输出部127将接收到的特定信息发送到接口114。接口114将接收到的特定信息进一步发送到发送接收机构。特定信息从发送接收机构经由网络400被发送到服务器200(S1002)。
服务器200接收由其发送接收机构从用户装置100发送来的特定信息(S2001)。特定信息被发送到服务器200的接口,从接口被发送到输入部221。输入部221在从接口接收特定信息的数据时,将其发送到主控制部222。
主控制部222在从输入部221接收到特定信息的数据时,将特定信息发送到同步信息生成部225。由此,同步信息生成部225生成同步信息,该同步信息是在通过特定信息特别指定的特定用户装置所包括的两个用户装置100中,为了使它们进行加密通信时所需的解同步所需的信息(S2002)。
对作为一例的同步信息的生成方法进行说明。
在本实施方式中,将能够由通过特定信息特别指定的两个用户装置100中的任一个生成的解设为同步信息。在本实施方式中,将能够由发送来特定信息的一侧的用户装置100的用户解生成部123生成的解设为同步信息,但不限于此。
因此,同步信息生成部225需要这样的解。因此,同步信息生成部225将使这样的解生成的指示与特定信息一起发送到服务器解生成部223。这里发送的特定信息当然可以不是整个特定信息,而仅是发来了特定信息的用户装置100的IP地址。在其它实施方式、变形例中也同样地,同步信息生成部225仅将需要的IP地址发送到服务器解生成部223就即可。
本实施方式中的服务器解生成部223调用与特定信息中包括的两个IP地址中的发来特定信息的用户装置100的IP地址相关联的真初始解或解。如上所述,本实施方式中的服务器解生成部223在至少初次生成解时,读出记录于服务器解记录部224的真初始解的数据。真初始解的数据例如是20位的数字和小写英文字母混合的字符串。该真初始解对于各用户装置100是唯一的,并由服务器200或服务器200的管理者分配给各用户装置100。真初始解可以是一个,也可以是多个。在本实施方式中,真初始解是一个,所以服务器解生成部223从服务器解记录部224读出一个真初始解。
服务器解生成部223通过对这些真初始解进行运算,从而生成该时间点的解。
首先,为了能够进行运算,将真初始解改为仅为数字。在真初始解中包括英文字母的情况下,将其置换为2位数的数字。作为置换对象的数字是该英文字母在字母表的顺序。例如,如果是“a”则置换为“01”,如果是“b”则置换为“02”,如果是“z”则置换为“26”。例如,将真初始解设为“5a6458p6556ff4272149”。在这种情况下,当将真初始解按照上述规则设置为仅数字时,变为“501645816655606064272149”。变为仅数字时的位数根据真初始解包括的英文字母的数量而增加。另外,如果想要(、)、!、&、:等符号也包括在解中,则进行将“27”分配给“(”,将“28”分配给“)”,将“29”分配给“!”等适当的数字的分配即可。
接下来,对数字进行运算。该运算的结果求出的是作为解的基的数字串。如果将该数字串设为X,则X按照规定时间点的公历的年、月、日、时、分而如下地求出。以下数学式中的X1是将真初始解改为数字而得的值。在本实施方式中,将真初始解设置为五个,这是因为按照公历的年、月、日、时和分这五个要素来使解改变。另外,通过时刻来取得解的同步的这种方法与以往存在的时间同步的方法相同。
X=X1 PX1 Q+X1 RX1 S+X1 T
在此,P=对将公历的年的数字除以5后的余数加1而得的数,Q=对将月的数字除以5后的余数加1而得的数,R=对将日的数字除以5后的余数加1而得的数,S=对将时的数字除以5后的余数加1而得的数,T=对将分的数字除以5后的余数加1而得的数。由此,能够根据彼时的时刻得到不同的数列。另外,在所有P~T中,增加加1的过程的原因在于,在所有P~T碰巧为0的情况下最终得到的解X为5而为了避免频繁出现这样简单的数字。
进行上述运算的结果,得到作为解的基的数字串X。接下来,如果该数字串中的任意2位中包括01~26的数字,则按照与刚才的从英文字母置换到数字的规则事项相反的规则事项,将它们置换为a~z的英文字母。
这样得到的数字和小写英文字母的混合字符串通常为20位以上的位数。当该字符串的位数为20位以上时,则例如从该字符串的前面起提取20个字符,并将其作为解。在如上所述得到的数字和小写英文字母混合的字符串正好是20位的情况下,将其直接作为解。此外,在如上所述得到的数字和小写英文字母混合的字符串少于20位的情况下,基于某种规定事项来增加位数。例如,可以基于该字符串的最初的数字或英文字母,在位数达到20位之前,将某些数字或字符***到该字符串中。或者,也可以采用这样的方法:通过对调换上述数学式中的P和T来进行运算而得到的数字串执行将数字置换为英文字母的上述过程,从而生成新的数字和小写英文字母混合的字符串,将其连接在原来的数字和小写英文字母混合的后面,重复这样的操作,直至其位数至少达到20位,从其前面开始提取20个字符作为解。
无论如何,由此基于真初始解,生成与某一时间点的日期和时间对应的解。在本实施方式中,设为服务器200的服务器解生成部223生成在用户装置100将特定信息发送到服务器200的时刻(例如,在发送特定信息时,由用户装置100添加到用于发送特定信息的数据包的时间戳所特别指定的时刻)的例如“5分钟后”的时刻的解,但不限于此。另外,以下也是同样,而对于该时刻,不考虑实际上该时刻是否已到来。
服务器解生成部223将生成的解向同步信息生成部225发送。
同步信息生成部225从服务器解生成部223接收解。然后,将接收到的解作为同步信息,将其作为特定信息向输出部227发送。输出部227经由接口将它们发送到发送接收机构。发送接收机构将同步信息发送到另一个用户装置100,该另一个用户装置100与由特定信息特别指定的IP地址中的、发来特定信息的用户装置100不同(S2003)。
特定信息中包括的IP地址中需要的仅是发送同步信息的用户装置100的IP地址。因此,对于特定信息,不需要将其整体(两个用户装置100的IP地址的双方)从同步信息生成部225经由输出部227、接口发送到发送接收机构,仅发送需要的IP地址就足够了。这在以后的实施方式等中也是同样的。
同步信息被发送到由特定信息中包括的两个IP地址特别指定的用户装置100中的、不是将特定信息发送到服务器200的用户装置100那一方的用户装置100。另一方面,不对将特定信息发送到服务器200的用户装置100发送同步信息。另外,在这种情况下进行的同步信息的发送也能够通过加密通信来进行。但是,这里进行的加密通信不需要如在构成特定用户装置的两个用户装置100之间进行的加密通信那样使用连续产生的解,也能够使用公知的方法。
通过特定信息中包括的两个IP地址特别指定的用户装置100中的、不是将特定信息发送到服务器200的用户装置100的一方的用户装置100通过其发送接收机构受理同步信息(S1003)。所受理的同步信息经由接口114被发送到输入部121,从输入部121经由主控制部122被发送到用户初始解生成部125。
在接收到同步信息的用户装置100的用户初始解生成部125中,基于同步信息,如下地生成初始解。
用户初始解生成部125如上所述那样受理同步信息。同步信息是能够由特定信息特别指定的用户中的、发送特定信息而不受理同步信息的一方的用户装置100生成的解。该用户初始解生成部125使用该解生成新的解。不过,解的生成是由从用户初始解生成部125接受到如下使解生成的指示的用户解生成部123进行的。用户解生成部123从用户初始解生成部125被发送这样的指示和作为用于生成新的解所需的解的同步信息。
用户解生成部123如下地生成新的解。
例如,将作为解的同步信息设为X2。此时,用户初始解生成部125使用与由服务器200生成作为解的同步信息时使用的方法相同的方法,具体地说,使用下述数学式来生成新的解。
X=X2 P+X2 Q+X2 R+X2 S+X2 T
当使用这样的数学式来生成解时,如上所述,需要确定用于确定P、Q、R、S、T的特定时刻。为了在被发送了同步信息的用户装置100和未被发送同步信息的用户装置100使之后生成的解同步(换言之,为了使初始解一致),需要将该时刻设为公用的相同的时刻,而例如,如果在至少特定用户装置所包括的两个用户装置100(优选为所有的用户装置100)之间预先进行“生成在用户装置100对服务器200发送了特定信息的时刻的‘10分钟后’的时刻的解”这样的约定,则满足这样的条件。例如,通过用于使用户装置100作为本申请发明的用户装置发挥功能的计算机程序来嵌入用于满足这样条件的代码即可。
无论如何,由此,接收到同步信息的用户装置100中的用户解生成部123使用同步信息,生成用户装置100对服务器200发送了特定信息的时刻的“10分钟后”的时刻的解。这样生成的解从用户解生成部123被发送到用户初始解生成部125。
用户初始解生成部125将该解决定为初始解,该初始解用于在进行与向服务器200发送了特定信息的用户装置100的加密通信时使解产生。这样决定的初始解被记录于用户解记录部124。
另一方面,在未接收到得同步信息的用户装置100中,如下那样决定初始解。
在如上所述进行的向服务器200发送特定信息(S1002)结束后,主控制部122向用户初始解生成部125发出使初始解生成的指示。受理到该指示的用户初始解生成部125对用户解生成部123发出要使解生成的指示。用户解生成部123基于记录于用户解记录部124的真初始解来生成新解。
用户解生成部123生成解的方法与由服务器200的服务器解生成部223生成解的方法相同。因此,只要真初始解是公用的,用户解生成部123生成的解就应该与服务器解生成部223生成、由另一个用户初始解生成部125决定为初始解的上述的解相同。而且,服务器200的服务器解生成部223在生成上述的解时从服务器解记录部224读出并使用的真初始解与用户初始解生成部125在生成解时从用户解记录部124读出并使用的真初始解相同。在本实施方式中,两者均为X1。因此,用户初始解生成部125生成与服务器解生成部223生成并对作为该用户装置100进行加密通信的对方侧的用户装置100发送的、作为同步信息的解相同的解(在本实施方式中为X2)。即,尽管未从服务器200被发送同步信息,但此处的用户装置100为如下状态:具有X2这样的、与被发送了同步信息的用户装置100作为同步信息而得到的解相同的解。
另外,为了使该解与服务器解生成部223生成的解相同,在用户装置100和服务器200中需要共享如下规则:生成在用户装置100向服务器200发送了特定信息的时刻(例如,在发送特定信息时,由用户装置100附加到用于发送特定信息的数据包的时间戳特别指定的时间)的“5分钟后”的时刻的解。例如,可以通过用于使用户装置100作为本申请发明的用户装置100发挥功能的上述计算机程序的功能,从而预先对用户装置100施加相关规则,特别是“生成在用户装置100对服务器200发送了特定信息的时刻的‘5分钟后’的时刻的解”这样的规则。或者,能够设为服务器200对不发送同步信息的一侧的用户装置100不发送同步信息,而发送“使得生成在用户装置100对服务器200发送了特定信息的时刻的‘5分钟后’的时刻的解”这样的指示。由此也能够在服务器200和用户装置100之间共享该指示。
随后,用户解生成部123使用该解(X2)生成新的解。该解是以与由另一个用户装置100的用户解生成部123生成新的解的情况下进行的方法相同的方法生成的。具体而言,通过将X2代入下述数学式来生成新的解。
X=X2 P+X2 Q+X2 R+X2 S+X2 T
当使用这样的数学式来生成解时,如上所述,需要确定用于确定P、Q、R、S、T的特定时刻,但如上所述,在作为特定用户装置的两个用户装置100之间共享该时刻,并且该时刻根据“生成在用户装置100对服务器200发送了特定信息的时刻的‘10分钟后’的时刻的解”这样的规则来决定。用户解生成部123生成根据这样的时刻而唯一确定的解。当然,该解与由接收到同步信息的用户装置100决定为初始解的解相同。
用户解生成部123将生成的解发送到用户初始解生成部125。用户初始解生成部125将接收到的解决定为初始解,并将该初始解记录于用户解记录部124。
由此,在作为特定用户装置的两个用户装置100中的用户解记录部124的每一个中记录有公用初始解。换言之,形成了作为特定用户装置的两个用户装置100具有公用初始解的状态(S1004)。也就是说,由此,完成了作为特定用户装置的两个用户装置100进行加密通信的准备。
在该状态下,在构成特定用户装置的两个用户装置100之间进行加密通信(S1005)。
在关于加密通信的以下说明中,将作为特定用户装置的进行加密通信的两个用户装置中的一个称为一个用户装置100,将另一个称为另一个用户装置100。
首先,对从一个用户装置100向另一个用户装置发送加密数据的情况进行说明。
另外,在两个用户装置100之间,从哪个用户装置100向哪个用户装置100发送加密数据应该是自由的。无论从一个用户装置100对另一个用户装置100发送加密数据,还是从另一个用户装置100对一个用户装置100发送加密数据,仅是在两个用户装置100中进行的处理相反,而在两个用户装置100中进行的处理本身不变。
操纵一个用户装置100的用户操作用户装置100的输入装置102,生成发送对象数据。发送对象数据是明文数据。
发送对象数据在一个用户装置100内,从接口114被发送到输入部121,进而被发送到用户加密解密部126。由用户加密解密部126对发送对象数据进行加密,为此而使用解。为了使用户解生成部123生成解,用户加密解密部126向用户解生成部123发送使解生成的指示。当接收到该指示时,用户解生成部123重新生成解。
只要由两个用户装置100中的用户解生成部123生成的解是同步的,用户解生成部123怎样生成解是自由的。例如,用于使在用户解生成部123和服务器解生成部223中生成的解同步的方法、和用于使在作为特定用户装置的两个用户装置100中的用户解生成部123中生成的解同步的方法也可以不同。虽然不限于此,但在本实施方式中,设为采用上述中的后者。
在本实施方式中,设在一个用户装置100中的用户解生成部123在本实施方式中与该时间点的时刻无关地,在生成初始解时使用的上述的时刻的1年后、1个月后、1天后、1小时后,生成与1分钟后的时刻对应的解。
用户解生成部123使用从用户解记录部124读出的初始解,并使用上述方法以及上述时刻生成新的解。
在一个用户装置内,新的解从用户解生成部123被向用户加密解密部126发送。
用户加密解密部126从用户解生成部123接收新的解,使用该解对发送对象数据进行加密。
在这种情况下,解的使用方法是自由的。例如,如果是用户装置100和服务器200进行使用公用密钥方式的加密通信的情况,则用户加密解密部126能够将该新的解用作公用密钥。即,解能够利用为加密密钥。另一方面,解也能够用于使加密的算法改变。也能够是这样的解的使用方法,即基于解从多种算法中选择一种算法。
无论如何,发送对象数据由用户加密解密部126加密,成为加密数据。
所产生的加密数据从用户加密解密部126被向输出部127发送。
一个用户装置100中的输出部127经由接口114将加密数据向发送接收机构发送。加密数据经由网络400被发送到另一个用户装置100。
另一个用户装置100由其发送接收机构接收从用户装置100发来的加密数据。加密数据从发送接收机构经由接口114被向输入部121发送。输入部121将加密数据向用户加密解密部126发送。
接收到加密数据的另一个用户装置100中的用户加密解密部126对加密数据进行解密。为此,用户加密解密部126使用由用户解生成部123生成的解。为了使用户解生成部123生成解,用户加密解密部126向用户解生成部123发送生成解的指示。当接收到这样的指示时,用户解生成部123重新生成解。
另一个用户装置100中的用户解生成部123生成解的方法与一个用户装置100的用户解生成部123采用的方法相同,用户解生成部123从用户解记录部124读出的初始解与在一个用户装置100中使用的初始解相同。由此,另一个用户装置100中的用户解生成部123生成与一个用户装置100中的用户解生成部123生成的解相同的新的解。也就是说,两个用户装置100生成同步的解。
新的解被从用户解生成部123向用户加密解密部126发送。
用户加密解密部126从用户解生成部123接收新的解,并且使用该新的解对加密数据进行解密。
这种情况下的解的使用方法仿照在一个用户装置100的用户加密解密部126的解的使用方法。例如,两个用户装置100使用解作为公用密钥方式的加密通信的公用密钥,如果一个用户装置100这样地使用解,则另一个用户装置100中的用户加密解密部126也将该新的解用作公用密钥。
无论如何,加密数据由用户加密解密部126进行解密,并恢复为原本的明文的发送对象数据。
发送对象数据从用户加密解密部126被发送到输出部127,从输出部127经由接口114被发送到另一个用户装置100内的例如其它应用程序,或被发送到显示器101进行适当的显示。
在从另一个用户装置100向一个用户装置100发送加密数据的情况下,以上说明中的一个用户装置100和另一个用户装置100的角色调换。
如果不需要进行加密通信,则加密通信结束。
另外,在本实施方式的通信***中,在进行加密通信的S1005的过程中使用的解仅为一个或为固定的。也可以不是这样的,而是例如像接连变更用于进行公用密钥方式的加密通信的公用密钥那样地,由作为特定用户装置的两个用户装置100的用户解生成部123连续地生成用于加密或解密的解。在这种情况下,例如,为了生成认证所用的解的下一个新的解,在用户解生成部123和服务器解生成部223之间进行如下约定,即在生成认证所用的解的时刻的1年后、1个月后、1天后、1小时后生成与1分钟后的时刻对应的解,与此同样地,也可以在用户解生成部123和服务器解生成部223之间进行约定,如其后生成的解是依次在其1分钟后、2分钟后、3分钟后…的时刻生成的解等。当然,也可以在两者之间交换更复杂的约定。
另一方面,能够如接连变更用于进行公用密钥方式的加密通信的公用密钥那样地,适当地决定变更在作为特定用户装置的两个用户装置100的用户加密解密部126中进行加密和解密的处理时所使用的解的定时。例如,可以在加密通信开始后每当经过规定的时间时,对新生成的解变更或更新用于加密或解密的解,或者可以每当加密数据的量超过一定的数据量时,变更或更新的解。例如,在对有明文的数据进行加密的情况下,通常不是对数据整体进行某种运算,而是通常使用这样的方法:每隔规定的比特数切断有明文的数据,使之成为小的数据,然后对该小的数据分别进行用于加密的运算。也可以采用这样的方法:例如,每当加密了十个该小的数据时生成新的解而改变公用密钥,或根据情况每当加密了一个该小的数据时生成新的解而改变公用密钥。当然,在进行这样的加密时,在进行解密的一侧也用与进行加密的一侧相同的方法来产生解,用相同的方法变更成为公用密钥的解。能够在作为特定用户装置的两个用户装置100的双方执行这样的方法。
另外,如上所述,如果作为特定用户装置的两个用户装置100一旦使解同步,则作为特定用户装置的两个用户装置100在两个用户装置100发挥功能期间,能够长久持续地保持使解同步的状态。
例如,如果在上述加密通信结束时,将由双方的用户装置100产生的最后的解作为下次加密通信时使用的初始解记录于双方的用户装置100中的用户解记录部124,则在下次加密通信时,即使不借助服务器200的能力来使服务器200生成同步信息,两个用户装置100也能够使用同步的解来进行加密通信。
另一方面,当然也可以是各用户装置100不进行如上所述的初始解的保存,而是在每次进行了加密通信时从服务器200接受同步信息的提供,并重复上述的处理。
另外,在本实施方式中,同步信息只被发送到作为特定用户装置的两个用户装置100的一方,但也可以将其发送到两个用户装置100的双方。在本实施方式中未接收到同步信息的用户装置100接收到同步信息的情况下,该用户装置100原本能够自己生成由同步信息特别指定的解,而通过比较自己生成的解和由同步信息特别指定的解并看到两者一致,从而至少能够由该用户装置100确认该解无误。
<变形例1>
以下,对上述通信***的变形例进行说明。
在以下说明的通信***中,与上述的第一实施方式的通信***的不同之处仅在于,服务器200和各用户装置100中的使解同步的方法、以及作为特定用户装置的两个用户装置100之间的使解同步的方法。
关于其它部分,变形例1与第一实施方式的通信***的结构没有不同,并且其使用方法以及动作也没有不同。
在第一实施方式中,用户装置100所具备的用户解生成部123、及服务器200所具备的服务器解生成部223中的使解产生的方法,如果以使用令牌等进行的以往的一次性密码的生成方法来说,则采用了如时间同步那样的使解同步的方法。与此相对,在变形例1中,如果以产生一次性密码的方法来说,则采用如事件同步那样地基于过去产生的解的数量(或产生的解的顺序(该解是第几个解))使解同步的方法。
在变形例1中,由用户解生成部123以及服务器解生成部223用于生成新的解的方法例如能够设为如下方法:通过反复进行如下处理来连续地生成解,即,通过对某个初始解进行所决定的运算而得到解,接着通过对该解再次进行所决定的运算而得到下一个解,接着通过对该解再次进行所决定的运算而得到下一个解……。这种技术作为用于生成伪随机数的技术而众所周知。
对用户解生成部123及服务器解生成部223生成解的更具体的方法进行说明。因为由用户装置100的用户解生成部123生成新的解的方法及服务器200的服务器解生成部223生成新的解的方法都是公用的,所以在以下说明中不对它们作区分地进行说明。另外,也不区分初始解和真初始解,而将它们一起作为初始解进行归纳说明。
为了生成解,可以在每次需要解时执行如下方法:使用某个初始解(也有如以下的(a)、(c)那样两个以上的情况),将过去的解代入规定的函数,由此依次生成新的解。通过这样做,能够连续地生成上述解。在这种情况下的解为具有初始解依赖性的伪随机数。
作为生成上述解所使用的函数的示例,举出以下的(a)~(c)。以下的(a)~(c)都是用于生成作为第N个解的XN的式子。另外,P、Q、R、S是适当的自然数。
(a)(XN)=(XN-1)P+(XN-2)Q
(b)(XN)=(XN-1)P
(c)(XN)=(XN-1)P(XN-2)Q(XN-3)R(XN-4)S
(a)使用过去的两个解,将它们分别进行P次幂和Q次幂并将结果相加,由此生成新的解。此外,正确地说,由于使用过去的两个解,将它们的P次幂和Q次幂的结果相加后,通常位数增加,因此在实际中通过从所得到的值中的开头提取适当的位数、从末尾提取适当的位数、或从该值中的适当的部分提取适当的位数等来生成新的解。在本实施方式中设解为20位,但不限于此。
(b)使用过去的一个解,将对其P次幂结果的位数如上所述整理后的结果作为新的解。
(c)使用过去的四个解,将它们分别进行P次幂、Q次幂、R次幂、S次幂并取这些结果的乘积,然后如上所述将整理位数后的结果作为新的解。
上述(a)~(c)是用于生成解的算法的一例,在生成解时,也可以对算法施加变化,例如,也可以施加依次使用上述(a)~(c)等的变化。
另外,使用上述(a)~(c)的数学式的方法能够在解仅由数字构成的情况下使用。如果想要在解中包括字符、符号,则采用在第一实施方式中说明的对字符、符号分配数字的方法即可。
根据使用如上述的数学式而使解连续的方法,在初始解相同的情况下,以相同顺序生成的解始终相同。
因此,如果使用公用的算法并且具有公用初始解,则服务器200中的服务器解生成部223和用户装置100中的用户解生成部123能够生成公用的同步的解,并且特定用户装置中的两个用户装置100各自的用户解生成部123能够生成公用的同步的解。
设为变形例1的用户解生成部123和服务器解生成部223使用上述(a)的算法来生成解,但不限于此。此外,设为变形例1中的特定用户装置所包括的两个用户装置100(或者,如果考虑到所有用户装置100都可成为特定用户装置,则为所有用户装置100)中的用户解生成部123使用上述(a)的算法来生成解。
通过更具体地说明该通信***的使用方法及动作,从而使通信***的结构更加清晰。
变形例1的通信***的动作如图6所示,大致而言,与第一实施方式的情况相比没有改变。特别是,特定用户装置中的S1001~S1002的步骤和服务器200中的S2001的步骤与第一实施方式的情况完全相同。
服务器200接收特定信息。特定信息经由发送接收机构、接口、输入部221、主控制部222,被向同步信息生成部225发送。同步信息生成部225生成同步信息,该同步信息是在通过特定信息特别指定的特定用户装置所包括的两个用户装置100中,为了使它们进行加密通信时所需的解同步所需的信息(S2002)。
在变形例1的情况下,也与第一实施方式的情况相同,将能够由通过发送到服务器200的特定信息特别指定的两个用户装置100中的任意用户装置生成的解设为同步信息。在变形例1中也与第一实施方式的情况相同,将能够由发来特定信息的一侧的用户装置100的用户解生成部123生成的解设为同步信息,但不限于此。
因此,同步信息生成部225需要这样的解。因此,同步信息生成部225将使这样的解生成的指示与特定信息一起发送到服务器解生成部223。
变形例1中的服务器解生成部223调用与特定信息中包括的两个IP地址中的、发来特定信息的用户装置100的IP地址相关联的真初始解或解。如上所述,本实施方式中的服务器解生成部223至少在初次生成解时,读出记录于用户解记录部124的真初始解的数据。不过,在变形例1的服务器200中的服务器解记录部224中,除了真初始解之外,还记录有过去使用该真初始解生成了几个解的信息。服务器解生成部223从服务器解记录部224读出真初始解的数据、和过去基于该真初始解生成了几个解的信息。
在变形例1的服务器解生成部223生成解的情况下,例如,设为服务器解生成部223过去生成了三个解。于是,服务器解生成部223从服务器解记录部224读出真初始解和过去生成的解的数量即3这一数字。服务器解生成部223使用上述数学式(a)根据真初期解((X0)和(X-1))生成第一解(X1),使用第一解(更准确地说,使用(X1)和(X0))生成第二解,重复该过程而生成第四解(X4)。然后,服务器解生成部223将记录于服务器解记录部224的过去生成的解的数量增加1,设为“4”。由此,接下来由服务器解生成部223生成的解成为作为第五解的(X5)。
服务器解生成部223将为了生成下一个解(X5)而至少需要的解((X3)和(X4))发送到同步信息生成部225。同步信息生成部225与第一实施方式的情况同样地将其设为同步信息(S2002)。
与第一实施方式的情况同样地,对作为特定用户装置的两个用户装置100中的、没有发来特定信息的用户装置100发送同步信息(S2003),而对发来特定信息的用户装置100不发送同步信息。
在接收到同步信息的用户装置中,与第一实施方式的情况同样地,对用户初始解生成部125发送同步信息。用户初始解生成部125使用同步信息生成新的解。该解是使用作为同步信息的(X3)和(X4)而制作的新的解,其既可以是作为第五解的(X5),也可以是其以后的即(X6)以后的解。但是,为了取得解的同步,需要在两个特定用户装置中共享关于应生成第几个解的条件。
例如,在该变形例1中,设接收到同步信息的用户装置100中的用户解生成部123生成第五解。用户解生成部123通过将(X4)代入下面的数学式(a)中的(XN-1),并且将(X3)代入下面的数学式(a)中的(XN-2)来得到作为第五解的(X5)。
(a)(XN)=(XN-1)P+(XN-2)Q
然后,用户解生成部123将生成的(X4)和(X5)向用户初始解生成部125发送。用户初始解生成部125把它决定为初始解,与第一实施方式的情况同样地,记录于该用户装置100中的用户解记录部124。
另一方面,未取得同步信息的用户装置100不依赖于同步信息,与第一实施方式的情况同样地自发地生成初始解。
未取得同步信息的用户装置100在结束向服务器200发送特定信息(S1002)后,与第一实施方式的情况同样地,其主控制部122向用户初始解生成部125发出使初始解生成的指示。接受到该指示的用户初始解生成部125对用户解生成部123发出使新的解生成的指示。
用户解生成部123生成解的方法与由服务器200的服务器解生成部223生成解的方法相同。因此,只要真初始解是公用的,并且只要根据真初始解生成的顺序相同,则用户解生成部123生成的解就与服务器解生成部223生成的解相同。至少在用户装置100之间,生成解到何种程度、将生成的哪个解用作初始解这样的条件是公用的。该用户装置100的用户解记录部124至少记录有与由服务器200生成同步信息所需的解之前的状态相同的信息,即,真初始解和过去根据真初始解生成的解为三个的情况。基于这些真初始解和读出的数字“3”,用户解生成部123生成与接收到同步信息的用户装置100中的用户解生成部123所生成的解的相同顺序为止的解。即,未取得同步信息的用户装置100中的用户解生成部123首先生成(X4),接着生成(X5)。这样,用户装置100和服务器200使解同步的方法相同,因此,记录于用户解记录部124的数据与记录于服务器解记录部224的数据相同。
然后,用户解生成部123将这两个解发送到用户初始解生成部125。用户初始解生成部125将这两个解作为为了生成以后的解而使用的初始解,将这两个解记录于用户解记录部124。
由此,记录了在作为特定用户装置的两个用户装置100中的用户解记录部124各自公用的初始解(S1004)。也就是说,由此,与第一实施方式的情况同样地,完成了作为特定用户装置的两个用户装置100进行加密通信的准备。
另外,在变形例1中,在服务器200中的服务器解记录部224中记录有真初始解和过去根据真初始解生成了几个解这样的信息,并且在用户装置100中的用户解记录部124中记录有真初始解和过去根据真初始解生成了几个解这样的信息,由此,服务器解生成部223和用户解生成部123如果在同步的状态下彼此比较相同顺序的解,则能够连续地生成相同的解。在这种情况下,在服务器解记录部224和用户解记录部124中持续记录真初始解。不过,从关于作为接受到同步信息的用户装置100中的初始解的解的生成方法的上述说明可知,为了使解同步,不一定需要真初始解和过去根据真初始解生成了几个解这样的信息,只要存在紧接着之前生成的解(有时为多个),就能够在以相同顺序生成的解总为相同的状态下,接连产生新的解。在这样的情况下,能够由服务器200和用户装置100双方连续地进行以下处理即可:如果根据真初始解生成了第一解,则将记录于服务器解记录部224及用户解记录部124的解覆盖用于使第二解生成的解,接着如果根据该解生成了第二解,则将记录于服务器解记录部224及用户解记录部124的解覆盖用于生成第三解的解……。
此外,当进行变形例1那样的使解生成的方法时,例如为了在作为特定用户装置的两个用户装置100之间进行加密通信,根据情况有时需要生成大量的解(后述),所以可能产生由用户解生成部123生成的解比由服务器解生成部223生成的解领先的情况。如果发生这样的情况,则由用户解生成部123和服务器解生成部223生成的解不同步,所以用户解记录部124应该以各自独立的形式分别单独地记录用户解生成部123在与服务器解生成部223同步的状态下用于生成解所需的信息、和用户解生成部123用于生成在作为特定用户装置的两个用户装置100之间同步的解所需的信息。
以后的处理可以完全与第一实施方式的情况相同。即,用于为了实现在作为特定用户装置的两个用户装置中进行的加密通信(S1005)所需的连续且同步地产生解的处理可以通过令牌等所说的时间同步来实现。
另一方面,在变形例1中,也能够通过由令牌等实现的事件同步来实现该解的同步,在变形例1中,设为这样生成解而进行以下说明。
与第一实施方式的情况同样地,在以下的说明中,将作为特定用户装置的进行加密通信的两个用户装置中的一个称为一个用户装置100,将另一个称为另一个用户装置100。
首先,对从一个用户装置100向另一个用户装置100发送加密数据的情况进行说明。
操纵一个用户装置100的用户操作用户装置100的输入装置102,生成发送对象数据。
发送对象数据在一个用户装置100内,经由输入部121从接口114被发送到用户加密解密部126。由用户加密解密部126对发送对象数据进行加密,为此而使用解。为了使用户解生成部123生成解,用户加密解密部126将使解生成的指示发送到用户解生成部123。当接收到该指示时,用户解生成部123重新生成解。
如上所述,用户解记录部124记录有作为两个解的(X4)和(X5)。一个用户装置100的用户解生成部123读取这两个解。当将它们代入上述的式(a)时,一个用户装置100中的用户解生成部123能够生成作为第六解的(X6)。为了生成下一个解,用户解生成部123将(X4)和(X5)记录于用户解记录部124,并且将作为所生成的解的(X6)发送到用户加密解密部126。
用户加密解密部126使用该解(X6)对发送对象数据进行加密。加密处理中的解的使用方法可以与第一实施方式的情况相同。发送对象数据由用户加密解密部126加密,成为加密数据。所生成的加密数据被从用户加密解密部126向输出部127发送。
这样的加密数据与第一实施方式的情况同样地,被从一个用户装置100向另一个用户装置100发送。
另一个用户装置100由其发送接收机构接收从用户装置100发来的加密数据。加密数据从发送接收机构经由接口114被向输入部121发送,进而被向用户加密解密部126发送。
接收到加密数据的另一个用户装置100中的用户加密解密部126对加密数据进行解密。为此,用户加密解密部126使用由用户解生成部123生成的解。为了使用户解生成部123生成解,用户加密解密部126将使解生成的指示发送到用户解生成部123。当接收该指示时,用户解生成部123重新生成解。
另一个用户装置100中的用户解生成部123生成解的方法与由一个用户装置100的用户解生成部123采用的方法相同,并且用户解生成部123从用户解记录部124读出的初始解与在一个用户装置100中使用的初始解((X4)和(X5))公用。由此,另一个用户装置100中的用户解生成部123生成与一个用户装置100中的用户解生成部123生成的解相同的新的解。也就是说,两个用户装置100生成同步的解。
新的解被从用户解生成部123向用户加密解密部126发送。用户加密解密部126从用户解生成部123接收新的解,并且使用该新的解对加密数据进行解密。解密方法与第一实施方式的情况相同。加密数据由用户加密解密部126进行解密,恢复为原本的明文的发送对象数据。
变形例1的通信***中的以后的处理与第一实施方式的情况相同。
在从另一个用户装置100向一个用户装置100发送加密数据的情况下,以上说明中的一个用户装置100和另一个用户装置100的角色调换。
如果不需要进行加密通信,则加密通信结束。
另外,在变形例1的通信***中,在进行加密通信的S1005的过程中使用的解仅为一个或为固定的。也可以不是这样,而是例如像接连变更用于进行公用密钥方式的加密通信的公用密钥那样地,由作为特定用户装置的两个用户装置100的用户解生成部123连续地生成用于加密或解密的解。
如上所述,如果使用相同的紧接之前的解(不限于一个),则两个用户装置100中的用户解生成部123能够接连生成同步的解。通过由两个用户装置100中的用户解生成部123接连生成同步的公用的解,从而作为特定用户装置的两个用户装置100能够使用同步的解进行加密通信。
作为生成新的解的定时而可采用的定时如第一实施方式中所述的那样。
与第一实施方式的情况同样地,一旦在特定用户装置所包括的两个用户装置100之间使解同步后,在该特定用户装置所包括的用户装置100之间的以后的加密通信中是否还使用该同步的解是自由的。
另外,在第一实施方式中,对不能生成作为初始解的解的一侧的用户装置100发送同步信息。不过,也可以对双方的用户装置100发送同步信息,从而将由双方的用户装置100使用自身的解而从同步信息中取出的仅能由对方侧的用户装置100生成的解中的任意一方(例如在双方的用户装置100之间决定的解)作为初始解。
<变形例2>
对变形例2的通信***进行说明。
另外,变形例2以及以下说明的变形例3、变形例4均基本上与变形例1的通信***同样地构成,并且它们的使用方法以及动作也与变形例1的通信***相同。
变形例2~4都在变形例1中,提出被设为“能够由通过特定信息特别指定的两个用户装置100中的任意用户装置生成的解”的同步信息的其它变形。因此,变形例2~4中的同步信息与变形例1的情况不同,此外其发送目的地也可以是通过特定信息特别指定的两个用户装置100中的一方,也可以是两个用户装置100的双方。此外,在特定用户装置中,直到使用同步信息而具有相同的初始解为止的处理也与变形例1的情况不同。
在变形例2~变形例4中,主要说明作为与变形例1的变更点的同步信息的内容、服务器200中的同步信息的生成方法、特定用户装置中的初始解的生成方法。
在变形例2~变形例4的说明中,将解设为利用通过如令牌等中的事件同步的方法来生成的解。但是,从第一实施方式和变形例1的关系可知,基于事件同步来生成解也能够置换为时间同步。即,变形例2~变形例4也可以通过时间同步来实施。例如,在第一实施方式中,“基于真初始解生成的、在用户装置100对服务器200发送特定信息的时刻的‘5分钟后’的时刻的解(X2)”对应于在变形例1中的根据真初始解生成的第一解,并且“基于该解(X2)生成的、在用户装置100对服务器200发送特定信息的时刻的‘10分钟后’的时刻的解”也不是不能被理解为在变形例2中的基于真初始解生成的第二解。在决定初始解之前需要在用户装置100生成至少一个解,但即使在采用时间同步的情况下,如果在服务器200和特定用户装置所包括的两个用户装置100中的所需的用户装置之间约定基于某个解生成某个时刻的解,基于所生成的解生成某个时刻的解,则能够将应用时间同步的方法而生成的解与通过事件同步的方法而生成的解同样地处理,或视为通过事件同步的方法而生成的解。
对变形例2中的通信***的使用方法和动作进行说明。
由于到此为止与第一实施方式相同,所以从同步信息生成部225生成同步信息的地方开始进行其说明。
与变形例1的情况同样地,同步信息生成部225生成同步信息是在从用户装置100向服务器200发送的特定信息被从主控制部222发送到同步信息生成部225之后。在该定时,同步信息生成部225生成同步信息。
在变形例2中,同步信息是解。更具体地说,是成为作为特定用户装置的两个用户装置100用于生成新的解的基的解。
在变形例2的用户装置100中的用户解生成部123,虽然不限于此,但与变形例1的情况同样地,使用下述的数学式(a)生成新的解,所以为了生成新的解,需要两个解。因此,同步信息生成部225生成两个解。该两个解可以与在作为特定用户装置的两个用户装置100中生成的、与由服务器200的服务器解生成部223生成的解同步的解无关。同步信息生成部225通过适当的方法,例如随机地生成两个解。
(a)(XN)=(XN-1)P+(XN-2)Q
另外,例如,如果在用户装置100采用如下述数学式(b)那样根据过去的一个解生成新的解的算法,则生成的解可以是一个。
(b)(XN)=(XN-1)P
同步信息生成部225生成这两个解(例如设为(X0)和(X-1))的集合作为同步信息。同步信息经由网络400被发送到由特定信息特别指定的作为特定用户装置的两个用户装置100。
两个用户装置100使用接收到的同步信息生成初始解。
与变形例1的情况同样地,同步信息被发送到用户初始解生成部125。接收到该解的用户初始解生成部125生成在作为特定用户装置的两个用户装置100进行加密通信时使用的初始解。
两个用户装置100中的初始解的生成方法相同,都为如下那样。
两个用户装置100中的用户初始解生成部125将来自同步信息的使新的解生成的指示与同步信息一起发送到用户解生成部123。然后,用户解生成部123使用同步信息中包括的两个解生成新的解。当将作为两个解的(X0)和(X-1)代入数学式(a)时,如(X1)=(X0)P+(X-1)Q那样,生成作为第一解的(X1)。接下来,当使用作为包括新生成的解的两个解的(X1)和(X0),进行如(X2)=(X1)P+(X0)Q的运算时,生成作为第二解的(X2)。两个用户装置100中的用户解生成部123生成的解基于公用的同步信息中包括的相同的两个解((X0)和(X-1))而生成,所以相互比较相同顺序的解时为相同。即,由两个用户装置100生成的解为同步的。
特定用户装置所包括的两个用户装置100的用户初始解生成部125将如下的解决定为初始解:在两个用户装置100之间预先约定的、或由服务器200指定的、以相同顺序生成的解,例如((X2)和(X1)),从而两个用户装置100成为具有公用的初始解的状态。与变形例1的情况同样地,该初始解被记录于用户解记录部124。
以后,作为特定用户装置的两个用户装置100使用公用的上述初始解,生成同步的解,与变形例1或第一实施方式的情况同样地,能够执行加密通信。
<变形例3>
对变形例3中的通信***的使用方法和动作进行说明。
由于到此为止与第一实施方式相同,所以从同步信息生成部225生成同步信息的地方开始进行其说明。
与变形例1的情况同样地,同步信息生成部225生成同步信息是在从用户装置100向服务器200发送的特定信息被从主控制部222发送到同步信息生成部225之后。在该定时,同步信息生成部225生成同步信息。
在变形例3中,同步信息是“对由作为特定用户装置的两个用户装置100中的两个用户解生成部123分别能够生成的解的双方,分别进行可逆运算而得到的信息”。为了生成这样的解,由于需要在两个用户装置100能够生成的解,所以同步信息生成部225对服务器解生成部223发送生成由两个用户装置100能够生成的解这样的指示和特定信息。
当接收该指示时,服务器解生成部223生成由两个用户装置100的用户解生成部123分别能够生成的解。将由两个用户装置100的一方能够生成的解记载为(XAN)(其中N为数字),将由两个用户装置100的另一方能够生成的解记载为(XBN)(其中N为数字),以下继续说明。
在变形例3的用户装置100中的用户解生成部123与变形例1的情况同样地,使用数学式(a)生成新的解,但不限于此。
如果在服务器200和一个用户装置100已经同步地生成了例如直到第四解作为该一个用户装置100之后能够生成的解,那么服务器解生成部223生成例如随后生成的第五解(XA5),并生成作为为了生成第六解(XA6)所需的两个解((XA5),(XA4))的对。另外,如果服务器200和另一个用户装置100已经同步地生成了例如直到第十五解作为该另一个用户装置100之后能够生成的解,那么服务器解生成部223生成例如随后生成的第十六解(XB16),并生成作为为了生成第十七解(XB17)所需的两个解的((XB16),(XB15))的对。这些都被发送到同步信息生成部225。
同步信息生成部225对这些两个解的对进行运算。该运算是可逆运算,例如,通过取两个解的积、或取得两个解的异或来执行该运算。虽然不限于此,但在变形例3中,通过取得两个解的对的积来执行运算。由于两个解的对分别包括两个解,所以执行(XA5)×(XB16)和(XA4)×(XB15)这两个运算。其结果是,同步信息生成部225得到((XA5)×(XB16)和(XA4)×(XB15))这一对信息。同步信息生成部225将该信息设为同步信息。
同步信息被发送到作为特定用户装置的两个用户装置100中的哪个都可以,而被发送到它们中的任一个。
在接收到同步信息的用户装置100,如下地生成初始解。设为同步信息被发送到上述的一个用户装置100,但不限于此。
与变形例1的情况同样地,同步信息被发送到一个用户装置100的用户初始解生成部125。接收到该解的用户初始解生成部125生成在作为特定用户装置的两个用户装置100进行加密通信时使用的初始解。用户初始解生成部125将使解生成的指示发送到用户解生成部123。用户解生成部123生成解。如已反复说明的,一个用户装置100中的用户解生成部123能够生成与由服务器200的服务器解生成部223生成的解同步的解。因此,用户解生成部123能够生成(XA5)和(XA4)这样两个解,这两个解是在服务器200的同步信息生成部225生成同步信息时由一个用户装置100作为能够生成的解而生成的解。例如,在服务器200和用户装置100之间预先共享在此生成第几解的条件。
用户解生成部123将生成的这两个解发送到用户初始解生成部125。用户初始解生成部125使用(XA5)和(XA4)这两个解对从服务器200发来的同步信息进行由服务器200的同步信息生成部225进行的运算的逆运算。对于((XA5)×(XB16))执行为((XA5)×(XB16))÷(XA5),并且对于((XA4)×(XB15))执行为((XA4)×(XB15))÷(XA4)。其结果是,用户初始解生成部125得到((XB16),(XB15))这样的解的对。
该解的对是原本一个用户装置100无法得到的、由另一个用户装置100生成的解的对,是为了在该装置中生成第十七解(XB17)所需的两个解。
用户初始解生成部125将该解的对决定为初始解,记录于用户解记录部124。
在未接收到同步信息的另一个用户装置100,如下地生成初始解。
在另一个用户装置100,在开始与一个用户装置100通信之前(例如,当从一个用户装置100发来了进行加密通信的请求时),其主控制部122对用户初始解生成部125发出使初始解生成的指示。
接收到该指示的用户初始解生成部125对用户解生成部123发出使解生成的指示。如已反复说明的,另一个用户装置100中的用户解生成部123能够生成与由服务器200的服务器解生成部223生成的解同步的解。因此,用户解生成部123能够生成((XB16),(XB15))这样的解的对,该解的对是由服务器200的同步信息生成部225生成同步信息时由另一个用户装置100作为能够生成的解而生成的解。例如,在服务器200和用户装置100之间预先共享在此生成第几解的条件。
用户初始解生成部125将该解的对决定为初始解,记录于用户解记录部124。
由此,在作为特定用户装置的两个用户装置100共享相同的初始解。
以后,作为特定用户装置的两个用户装置100使用公用的上述初始解,生成同步的解,与变形例1或第一实施方式的情况同样地,能够执行加密通信。
在以上的变形例3中,记载了为了由用户装置100生成新的解而需要过去的两个解的情况。如果用户装置100仅需要过去的一个解来生成新的解,则从服务器200发送到用户装置100的同步信息可以是一个信息而不是基于解的信息的对。在变形例4中也是同样。
另外,在该变形例3中,同步信息被发送到不能生成作为初始解的解的一侧的用户装置100。但是,也可以对双方的用户装置100发送同步信息,从而将双方的用户装置100使用自身的解而从同步信息取出的仅能由对方侧的用户装置100生成的解中的任意一方(例如在双方的用户装置100之间决定的解)作为初始解。
<变形例4>
对变形例4中的通信***的使用方法和动作进行说明。
由于到此为止与第一实施方式相同,所以从同步信息生成部225生成同步信息的地方开始进行其说明。
与变形例1的情况同样地,同步信息生成部225生成同步信息是在从用户装置100向服务器200发送的特定信息被从主控制部222发送到同步信息生成部225之后。在该定时,同步信息生成部225生成同步信息。
在变形例4中,生成两种同步信息。在变形例4中生成的同步信息是“对由作为特定用户装置的两个用户装置100中的两个用户解生成部123分别能够生成的解的每一个、和作为特定用户装置的两个用户装置100公用的初始解进行可逆运算而得到的信息”。为了生成这样的解,需要由两个用户装置100能够生成的解,所以同步信息生成部225对服务器解生成部223发送生成由两个用户装置100能够生成的解的指示和特定信息。
当接收到该指示时,服务器解生成部223生成由两个用户装置100的用户解生成部123分别能够生成的解。与变形例3同样地,将由两个用户装置100的一方能够生成的解记载为(XAN)(其中N为数字),将由两个用户装置100的另一方能够生成的解记载为(XBN)(其中N为数字),以下继续说明。
在变形例4的用户装置100中的用户解生成部123,与变形例1的情况同样地,使用数学式(a)生成新的解,但不限于此。
如果在服务器200和一个用户装置100已经同步地生成了例如直到第四解作为该一个用户装置100之后能够生成的解,那么服务器解生成部223生成例如随后生成的第五解(XA5),并生成作为为了生成第六解(XA6)所需的两个解的((XA5),(XA4))的对。另外,如果服务器200和另一个用户装置100已经同步地生成了例如直到第十五解作为该另一个用户装置100之后能够生成的解,那么服务器解生成部223生成例如随后生成的第十六解(XB16),并生成作为为了生成第十七解(XB17)所需的两个解的((XB16),(XB15))的对。这些都被发送到同步信息生成部225。
同步信息生成部225对这些两个解分别进行运算。该运算是可逆运算,例如,通过取解与由作为特定用户装置的两个用户装置100共同使用的初始解的积、或取解与初始解的异或来执行该运算。在变形例4中,通过取解与初始解的积来执行运算,但不限于此。将初始解设为((Y1),(Y0))。另外,例如,能够将由同步信息生成部225适当地生成的解设为该初始解。由于两个解的对分别包括两个解,所以执行(XA5)×(Y1)和(XA4)×(Y0)这两个运算。其结果是,同步信息生成部225得到((XA5)×(Y1),(XA4)×(Y0))这样一对信息。同步信息生成部225将该信息作为用于一个用户装置100的同步信息。并且,同步信息生成部225执行(XB16)×(Y1)和(XB15)×(Y0)这两个运算。其结果是,同步信息生成部225得到((XB16)×(Y1),(XB15)×(Y0))这样一对信息。同步信息生成部225将该信息作为用于另一个用户装置100的同步信息。
用于一个用户装置100的同步信息被发送到作为特定用户装置的两个用户装置100中的一个用户装置100,用于另一个用户装置100的同步信息被发送到作为特定用户装置的两个用户装置100中的另一个用户装置100。
在接收到同步信息的一个用户装置100,如以下那样生成初始解。
与变形例1的情况同样地,同步信息被发送到一个用户装置100的用户初始解生成部125。接收到该解的用户初始解生成部125生成在作为特定用户装置的两个用户装置100进行加密通信时使用的初始解。用户初始解生成部125将使解生成的指示发送到用户解生成部123。用户解生成部123生成解。如已反复说明的,一个用户装置100中的用户解生成部123能够生成与由服务器200的服务器解生成部223生成的解同步的解。因此,用户解生成部123能够生成(XA5)和(XA4)这样的两个解,这两个解是由服务器200的同步信息生成部225生成同步信息时由一个用户装置100作为能够生成的解而生成的解。例如,在服务器200和用户装置100之间预先共享在此生成第几解的条件。
用户解生成部123将生成的这两个解发送到用户初始解生成部125。用户初始解生成部125使用(XA5)和(XA4)这两个解对从服务器200发来的同步信息进行由服务器200的同步信息生成部225进行的运算的逆运算。对于((XA5)×(Y1))执行为((XA5)×(Y1))÷(XA5),对于((XA4)×(Y0))执行为((XA)×(Y0))÷(XA4)。其结果是,用户初始解生成部125得到((Y1),(Y0))这样的解的对。
用户初始解生成部125将该解的对决定为初始解,记录于用户解记录部124。
在接收到同步信息的另一个用户装置100也进行同样的处理,生成初始解。
同步信息被发送到另一个用户装置100的用户初始解生成部125。用户初始解生成部125将使解生成的指示发送到用户解生成部123。用户解生成部123生成解。用户解生成部123能够生成(XB16)和(XB15)这样的两个解,该两个解是在由服务器200的同步信息生成部225生成同步信息时由另一个用户装置100作为能够生成的解而生成的解。
用户解生成部123将生成的这两个解发送到用户初始解生成部125。用户初始解生成部125使用(XB16)和(XB15)这两个解,对从服务器200发来的同步信息进行由服务器200的同步信息生成部225进行的运算的逆运算。对于((XB16)×(Y1))执行为((XB16)×(Y1))÷(XB16),对于((XB15)×(Y0))执行为((XB15)×(Y0))÷(XB15)。其结果是,用户初始解生成部125得到((Y1),(Y0))这样的解的对。
用户初始解生成部125将该解的对决定为初始解,并记录于用户解记录部124。
由此,在作为特定用户装置的两个用户装置100共享相同的初始解。
以后,作为特定用户装置的两个用户装置100使用公用的上述初始解,生成同步的解,与变形例1或第一实施方式的情况同样地,能够执行加密通信。
<第二实施方式>
对第二实施方式的通信***进行说明。
第二实施方式的通信***大致沿袭了第一实施方式的通信***,在其内部包括第一实施方式的通信***。
图7概略性地示出第二实施方式的通信***。
第二实施方式的通信***包括用户装置100和服务器200。设用户装置100用户装置100-1~用户装置100-1000这1000个,并且设服务器200是服务器200-1~服务器200-6这6个。
能够设用户装置100为与在第一实施方式及其变形例中采用的结构相同。服务器200中的服务器200-1~服务器200-4也同样。不过,服务器200中的以下说明的服务器能够在它们之间相互进行加密通信。
在第二实施方式中,设服务器200-1按照第一实施方式中说明的意思管理用户装置100-1~用户装置100-300,但不限于。也就是说,服务器200-1能够使得与由所有用户装置100-1~用户装置100-300产生的解同步的解产生。此外,在用户装置100-1~用户装置100-300中的任意两个用户装置100为特定用户装置并且在作为特定用户装置的两个用户装置100之间要执行第一实施方式中说明的加密通信的情况下,服务器200-1能够向这两个用户装置100提供同步信息。换句话说,由服务器200-1管理的用户装置100-1~用户装置100-300能够在服务器200-1的管理下,实现第一实施方式(也可以是变形例1~变形例4)中说明的加密通信。
同样地,服务器200-2按照第一实施方式中说明的意思管理用户装置100-301~用户装置100-600,服务器200-3按照第一实施方式中说明的意思管理用户装置100-601~用户装置100-900,并且服务器200-4按照第一实施方式中说明的意思管理用户装置100-901~用户装置100-1000。
并且,服务器200-1和服务器200-2能够在它们之间实现加密通信。该加密通信可以是在第一实施方式等中在作为特定用户装置的两个用户装置100之间实现的使用同步地产生的解进行的加密通信,也可以不是这样。
另一方面,服务器200-5和服务器200-6不按照第一实施方式中说明的意思管理任何用户装置100。但是,服务器200-5能够在与服务器200-1和与服务器200-3之间进行加密通信,服务器200-6能够在与服务器200-1和与服务器200-4之间进行加密通信。服务器200-5与服务器200-1或服务器200-3之间进行的加密通信、以及服务器200-6与服务器200-1或服务器200-4之间进行的加密通信可以是在第一实施方式等中在作为特定用户装置的两个用户装置100之间实现的使用同步地产生的解进行的加密通信,也可以不是这样。
图8示出以上的说明。另外,在图8中,舍去了网络400。
在以上那样的通信***中,当然,作为被公用的服务器200管理的任意两个用户装置100彼此、且构成特定用户装置的用户装置,能够在共同地管理它们的服务器200下,得到从该服务器200供给的同步信息,还能够利用该同步信息,实现在第一实施方式等中在作为特定用户装置的两个用户装置100之间实现的使用同步地产生的解进行的加密通信。
例如,作为由服务器200-1管理的用户装置100-1~用户装置100-300中的任意两个的用户装置100-2和用户装置100-105、由服务器200-2管理的用户装置100-451和用户装置100-501等能够实现利用同步地产生的解进行的加密通信。
此外,根据第二实施方式中的通信***,即使是不由公用的服务器200管理的任意两个用户装置100彼此,如果管理它们的服务器200能够进行直接加密通信,或通过在它们之间***其它服务器200而能够间接地进行加密通信,则也能够实现使用同步地产生的解进行的加密通信。
例如,设由服务器200-1管理的用户装置100-1和由服务器200-2管理的用户装置100-390为特定用户装置,并且希望在用户装置100-1和用户装置100-390之间进行使用同步地产生的解进行的加密通信。例如,用户装置100-1向管理自身的服务器200-1发送与第一实施方式中说明的特定信息相同的特定信息,即,特别指定用户装置100-1和用户装置100-390的特定信息。
服务器200-1在接收到特定信息时,从其它服务器200中搜索对自己不管理的用户装置100-390进行管理的服务器200。例如,向其它服务器200发送搜索这样的服务器200的通知。其结果是,通过例如来自作为管理用户装置100-390的服务器200的服务器200-2的通知,找到该服务器200-2。
如上所述,服务器200-1和服务器200-2能够在两者之间进行加密通信。例如,在服务器200-1和服务器200-2之间或在它们的管理者之间已经建立了进行加密通信程度的信任关系。服务器200-1和服务器200-2进行加密通信。在该加密通信中,在服务器200-1和服务器200-2之间交换用于生成如第一实施方式中说明的同步信息的信息。
为了生成同步信息所需的是,与在作为特定用户装置的两个用户装置100中生成的解同步的解,这些解能够通过分别管理作为特定用户装置的两个用户装置100的用户装置100-1和用户装置100-390的、服务器200-1和服务器200-2中的任意服务器来生成。此外,为了生成用于生成同步信息所需的解,需要表示哪个用户装置100为特定用户装置的特定信息,但由于服务器200-1已经得到了特定信息,所以通过加密通信将其发送到服务器200-2,从而服务器200-1和服务器200-2能够共享该特定信息。此外,有时也将与作为特定用户装置的两个用户装置100的任意解都不同步的解设为特定用户装置的两个用户装置的初始解(例如,变形例2、变形例4),但这样的解能够由任意服务器200生成。因此,通过在服务器200-1和服务器200-2之间发送接收能够由它们管理的用户装置100生成的解、特定信息等,从而由服务器200-1和服务器200-2中的至少一个能够生成如第一实施方式等中说明的同步信息。
另一方面,生成的同步信息需要被发送到用户装置100-1和用户装置100-390中的至少一方,而能够由服务器200-1向用户装置100-1发送同步信息即可,能够由服务器200-2向用户装置100-390发送同步信息即可。
即,在以上说明的情况下,相互执行加密通信的服务器200-1和服务器200-2相互协作,从而作为对于由服务器200-1和服务器200-2中的至少一个管理的所有用户装置100的如第一实施方式所说的服务器200发挥功能,并且服务器200-1和服务器200-2作为本申请发明所说的副服务器装置发挥功能。图9概念性地示出以上通信状态。在图9中,也舍去了网络400。
同样地,设为希望由服务器200-1管理的用户装置100,例如用户装置100-90,和由服务器200-3管理的用户装置100,例如用户装置100-800作为特定用户装置,进行使用同步地产生的解进行的加密通信。例如,用户装置100-90向管理自身的服务器200-1发送与第一实施方式中说明的相同的特定信息,即特别指定用户装置100-1和用户装置100-800的特定信息。
服务器200-1在接收到特定信息时,从其它服务器200中搜索对自己不管理的用户装置100-800进行管理的服务器200。其结果是,发现管理用户装置100-800的服务器200-3。然而,服务器200-1和服务器200-3不能在两者之间进行加密通信。例如,服务器200-1和服务器200-3或它们的管理者彼此不相知,或没有建立进行加密通信的程度的信任关系。在这种情况下,服务器200-1搜索以加密通信方式连接服务器200-1和服务器200-3之间的其它服务器。幸运的是,如上所述,作为能够以加密通信方式连接服务器200-1和服务器200-3的服务器200,存在服务器200-5。
服务器200-1和服务器200-3之间隔着服务器200-5,形成图10所示的通信状态。以在服务器200-1和服务器200-2之间能够共享生成同步信息所需的信息的方式,经由服务器200-5,服务器200-1、服务器200-5和服务器200-3能够共享这些信息,该同步信息是作为特定用户装置的两个用户装置100用于共享初始解的信息。由此,能够由服务器200-1、服务器200-5和服务器200-3中的任一个来生成同步信息。
所生成的同步信息需要被发送到用户装置100-90和用户装置100-800中的至少一个,能够由服务器200-1向用户装置100-90发送同步信息即可,能够由服务器200-3向用户装置100-800发送同步信息即可。
即,在以上说明的情况下,相互执行加密通信的服务器200-1、服务器200-5和服务器200-3协作,从而作为对于由服务器200-1和服务器200-3中的至少一个管理的所有用户装置100的如第一实施方式所说的服务器200发挥功能。在这种情况下,服务器200-1、服务器200-5和服务器200-3用作本申请发明所说的副服务器装置发挥功能。在副服务器装置中,可能存在如服务器200-5那样不管理用户装置100的副服务器装置。不管理用户装置100的副服务器装置与管理用户装置100的服务器200彼此通过加密通信连接,并且不管理用户装置100的副服务器装置很可能比管理用户装置100的服务器200更带有公共性质。
同样地,设为希望由服务器200-3管理的用户装置100,例如用户装置100-700,和由服务器200-4管理的用户装置100,例如用户装置100-999作为特定用户装置,进行使用同步地产生的解进行的加密通信。例如,用户装置100-700将与第一实施方式中说明的相同的特定信息发送到管理自身的服务器200-3,所述特定信息即特别指定用户装置100-700和用户装置100-999的特定信息。
服务器200-3在接收到特定信息时,从其它服务器200中搜索对自己不管理的用户装置100-999进行管理的服务器200。其结果是,发现管理用户装置100-999的服务器200-4。但是,服务器200-3和服务器200-4不能在两者之间进行加密通信。另外,也不存在能够通过直接加密通信来连接服务器200-3和服务器200-4的服务器200。但是,能够与服务器200-3进行加密通信的服务器200-5和能够与服务器200-4进行加密通信的服务器200-6都能够与服务器200-1进行加密通信。
因此,能够通过将服务器200-5、服务器200-1和服务器200-6放入服务器200-3和服务器200-4之间来建立如图11所示的通信状态。以在服务器200-1和服务器200-2之间能够共享生成同步信息所需的信息的方式,经由服务器200-5、服务器200-1和服务器200-6,服务器200-3、服务器200-5、服务器200-1、服务器200-6和服务器200-4能够共享这些信息,所述同步信息是作为特定用户装置的两个用户装置100用于共享初始解的信息。由此,经由服务器200-5、服务器200-1和服务器200-6,能够由服务器200-3、服务器200-5、服务器200-1、服务器200-6和服务器200-4中的任一个来生成同步信息。
生成的同步信息需要被发送到用户装置100-700和用户装置100-999中的至少一个,而能够由服务器200-3向用户装置100-700发送同步信息即可,能够由服务器200-4向用户装置100-999发送同步信息即可。
即,在以上说明的情况下,相互执行加密通信的服务器200-3、服务器200-5、服务器200-1、服务器200-6和服务器200-4相互协作,从而作为对与由服务器200-3和服务器200-4中的至少一个管理的所有用户装置100的如第一实施方式中所说的服务器200发挥功能。在这种情况下,服务器200-3、服务器200-5、服务器200-1、服务器200-6和服务器200-4作为本申请发明所说的副服务器装置发挥功能。如上所述,在副服务器装置中,可能会存在如服务器200-5、服务器200-6那样不管理用户装置100的副服务器装置。此外,不管理包括在特定用户装置中的用户装置100且管理不包括在特定用户装置中的用户装置100的服务器200(在本例中为服务器200-1)***于管理作为特定用户装置的两个用户装置100的两个服务器200(在本例中为服务器200-3和服务器200-4)之间,也能够帮助建立管理作为特定用户装置的两个用户装置100的两个服务器200的加密通信。
以这种方式通过结合相互进行加密通信的服务器200来建立具有与服务器200同样的功能的服务器200的集合体,由此,即使在不被相同服务器200管理的用户装置100之间,也能够共享初始解,作为结果能够执行连续地产生同步的解的加密通信。
例如,根据图7所示的示例,用户装置100-1至用户装置100-1000中的任意两个用户装置100能够经由至少一个服务器200共享初始解,并且能够执行连续地产生同步的解的加密通信。

Claims (10)

1.一种服务器装置,与大量的用户装置结合而构成通信***,该通信***包括经由网络能够相互通信的所述大量的用户装置以及进行所述用户装置之间的通信的控制的与所述网络连接的服务器装置而成,其中,
所述用户装置分别具有:
用户解生成单元,能够基于初始解连续地生成解,所述解是罗列了规定数量的字符、数字、符号中的至少一种而成的伪随机数,所述解的位数恒定或字符数恒定,在相同条件下生成的解始终相同;
用户加密单元,执行使用由所述用户解生成单元生成的所述解将作为发送对象的发送对象数据加密为加密数据的处理;
用户发送单元,将所述加密数据发送到其它装置;
用户接收单元,从其它装置接收所述加密数据;以及
用户解密单元,执行使用由所述用户解生成单元生成的所述解将接收到的所述加密数据解密为所述发送对象数据的处理,
并且,在作为要进行加密通信的两个所述用户装置的特定用户装置相互具有公用的所述初始解的情况下,能够通过由两个所述用户装置的所述用户解生成单元分别生成在两个所述用户装置之间同步的公用的所述解,将通过由对方的所述用户加密单元加密所述发送对象数据而生成的、且从对方的所述用户发送单元发来并由自身的所述用户接收单元所接收的加密数据利用自身的所述用户解密单元解密为所述发送对象数据,从而所述特定用户装置能够进行加密通信,
并且,能够通过所述用户发送单元向所述服务器装置发送作为特别指定所述特定用户装置的双方的信息的特定信息,
所述服务器装置具备:
服务器接收单元,从所述特定用户装置的一方接收所述特定信息;
服务器解生成单元,能够基于在所述用户装置的每一个中与别的所述用户装置中的所述初始解相同的所述初始解,生成与由所述用户装置各自所具有的所述用户解生成单元生成的所述解相同、且与由所述用户装置各自的所述用户解生成单元生成的解同步的所述解;
同步信息生成单元,使用由所述服务器解生成单元生成的所述解生成同步信息,所述同步信息是为了所述特定用户装置得到相同的所述初始解并在所述特定用户装置之间使所述解同步所需的信息;以及
服务器发送单元,将所述同步信息发送到所述特定用户装置中的至少一个所述用户装置,
所述服务器装置将对作为所述初始解的、都是由所述服务器解生成单元生成的、能够由所述特定用户装置中的一个用户装置的所述用户解生成单元生成的解和能够由所述特定用户装置中的另一个用户装置的所述用户解生成单元生成的解进行取它们的异或的可逆运算而得到的信息,作为所述同步信息发送到作为所述特定用户装置的所述用户装置的任意用户装置,并且,
所述特定用户装置中的未接收所述同步信息的所述用户装置将由该用户装置的所述用户解生成单元在规定条件下生成的新的所述解设为所述初始解,并且所述特定用户装置中的接收到所述同步信息的所述用户装置通过对从所述服务器装置发来的所述同步信息使用由该用户装置的所述用户解生成单元生成的新的所述解进行所述可逆运算的逆运算,从而从所述同步信息中取出与由未接收到所述同步信息的所述用户装置生成的所述解公用的所述解,并将其设为所述初始解,
由此能够在所述特定用户装置之间使所述解同步。
2.一种服务器装置,与大量的用户装置结合而构成通信***,该通信***包括经由网络能够相互通信的所述大量的用户装置以及进行所述用户装置之间的通信的控制的与所述网络连接的服务器装置而成,其中,
所述用户装置分别具有:
用户解生成单元,能够基于初始解连续地生成解,所述解是罗列了规定数量的字符、数字、符号中的至少一种而成的伪随机数,所述解的位数恒定或字符数恒定,在相同条件下生成的解始终相同;
用户加密单元,执行使用由所述用户解生成单元生成的所述解将作为发送对象的发送对象数据加密为加密数据的处理;
用户发送单元,将所述加密数据发送到其它装置;
用户接收单元,从其它装置接收所述加密数据;以及
用户解密单元,执行使用由所述用户解生成单元生成的所述解将接收到的所述加密数据解密为所述发送对象数据的处理,
并且,在作为要进行加密通信的两个所述用户装置的特定用户装置相互具有公用的所述初始解的情况下,能够通过由两个所述用户装置的所述用户解生成单元分别生成在两个所述用户装置之间同步的公用的所述解,将通过由对方的所述用户加密单元加密所述发送对象数据而生成的、且从对方的所述用户发送单元发来并由自身的所述用户接收单元所接收的加密数据利用自身的所述用户解密单元解密为所述发送对象数据,从而所述特定用户装置能够进行加密通信,
并且,能够通过所述用户发送单元向所述服务器装置发送作为特别指定所述特定用户装置的双方的信息的特定信息,
所述服务器装置具备:
服务器接收单元,从所述特定用户装置的一方接收所述特定信息;
服务器解生成单元,能够基于在所述用户装置的每一个中与别的所述用户装置中的所述初始解相同的所述初始解,生成与由所述用户装置各自所具有的所述用户解生成单元生成的所述解相同、且与由所述用户装置各自的所述用户解生成单元生成的解同步的所述解;
同步信息生成单元,使用由所述服务器解生成单元生成的所述解生成同步信息,所述同步信息是为了所述特定用户装置得到相同的所述初始解并在所述特定用户装置之间使所述解同步所需的信息;以及
服务器发送单元,将所述同步信息发送到所述特定用户装置中的至少一个所述用户装置,
所述服务器装置将第一信息作为所述同步信息而发送到一个所述用户装置,并且将第二信息作为所述同步信息而发送到另一个所述用户装置,所述第一信息是对都是由所述服务器解生成单元生成的、作为所述初始解的所述解和能够由所述特定用户装置中的一个用户装置的所述用户解生成单元生成的所述解进行取它们的异或的可逆运算而得到的信息,所述第二信息是对都是由所述服务器解生成单元生成的、作为所述初始解的所述解和能够由所述特定用户装置中的另一个用户装置的所述用户解生成单元生成的所述解进行取它们的异或的可逆运算而得到的信息,
所述特定用户装置中的一个所述用户装置通过对从所述服务器装置发来的所述同步信息使用由该用户装置的所述用户解生成单元生成的新的所述解进行所述可逆运算的逆运算,从而从作为所述第一信息的所述同步信息中取出所述解,并将其设为所述初始解,并且所述特定用户装置中的另一个所述用户装置通过对从所述服务器装置发来的所述同步信息使用由该用户装置的所述用户解生成单元生成的新的所述解进行所述可逆运算的逆运算,从而从作为所述第二信息的所述同步信息中取出与由一个所述用户装置取出的解公用的所述解,并将其作为所述初始解,
由此能够在所述特定用户装置之间使所述解同步。
3.根据权利要求2所述的服务器装置,其中,
所述服务器装置包括多个副服务器装置,所述多个副服务器装置能够生成在与所述用户装置中的至少多个用户装置之间同步的所述初始解,并且能够相互进行经由所述网络的加密通信,
所述特定用户装置在生成在与两个副服务器装置的每一个之间同步的初始解的情况下,通过与这两个副服务器装置、或与能够与这双方进行加密通信的其它副服务器装置的协作,构成所述同步信息生成单元和所述服务器发送单元。
4.一种副服务器装置,是如权利要求3所述的副服务器装置。
5.一种用户装置,是通过与权利要求1所述的服务器装置结合来构成所述通信***的所述用户装置。
6.一种用户装置,是通过与权利要求2所述的服务器装置结合来构成所述通信***的所述用户装置。
7.一种计算机装置,用于通过与具备用户发送单元和用户接收单元的规定的通信装置结合来构成权利要求5所述的用户装置,所述计算机装置具备:所述用户解生成单元、所述用户加密单元、所述用户解密单元和生成所述初始解的单元。
8.一种计算机装置,用于通过与具备用户发送单元和用户接收单元的规定的通信装置结合来构成权利要求6所述的用户装置,所述计算机装置具备:所述用户解生成单元、所述用户加密单元、所述用户解密单元和生成所述初始解的单元。
9.一种由服务器装置执行的方法,该服务器装置通过与大量的用户装置结合而构成通信***,该通信***包括经由网络能够相互通信的所述大量的用户装置以及进行所述用户装置之间的通信的控制的与所述网络连接的服务器装置而成,其中,
所述用户装置分别具有:
用户解生成单元,能够基于初始解连续地生成解,该解是罗列了规定数量的字符、数字、符号中的至少一种而成的伪随机数,该解的位数恒定或字符数恒定,在相同条件下生成的解始终相同;
用户加密单元,执行使用由所述用户解生成单元生成的所述解,将作为发送对象的发送对象数据加密为加密数据的处理;
用户发送单元,将所述加密数据发送到其它装置;
用户接收单元,从其它装置接收所述加密数据;以及
用户解密单元,执行使用由所述用户解生成单元生成的所述解将接收到的所述加密数据解密为所述发送对象数据的处理,
并且,在作为要进行加密通信的两个所述用户装置的特定用户装置相互具有公用的所述初始解的情况下,能够通过由两个所述用户装置的所述用户解生成单元分别生成在两个所述用户装置之间同步的公用的所述解,将通过由对方的所述用户加密单元加密所述发送对象数据而生成的、且从对方的所述用户发送单元发来并由自身的所述用户接收单元所接收的加密数据利用自身的所述用户解密单元解密为所述发送对象数据,从而所述特定用户装置能够进行加密通信,
并且能够通过所述用户发送单元向所述服务器装置发送作为特别指定所述特定用户装置的双方的信息的特定信息,
所述服务器装置具备服务器解生成单元,该服务器解生成单元能够基于在所述用户装置的每一个中与别的所述用户装置的所述初始解相同的所述初始解,生成与所述用户装置各自具有的所述用户解生成单元所生成的解相同的、且与所述用户装置各自的所述用户解生成单元所生成的解同步的所述解,所述方法包括由所述服务器装置执行的如下过程:
从所述特定用户装置的一方接收所述特定信息的第1过程;
使用由所述服务器解生成单元生成的所述解生成同步信息的第2过程,其中所述同步信息是为了所述特定用户装置得到相同的所述初始解并在所述特定用户装置之间使所述解同步所需的信息;以及
将所述同步信息发送到所述特定用户装置中的至少一个所述用户装置的第3过程,
在所述第2过程中,生成对都是由所述服务器解生成单元生成的、作为所述初始解的、能够由所述特定用户装置中的一个用户装置的所述用户解生成单元生成的解和能够由所述特定用户装置中的另一个用户装置的所述用户解生成单元生成的解进行取它们的异或的可逆运算而得到的信息,作为所述同步信息,
在所述第3过程中,将所述同步信息发送到作为所述特定用户装置的所述用户装置的任意用户装置,
所述特定用户装置中的未接收所述同步信息的所述用户装置将由该用户装置的所述用户解生成单元在规定条件下生成的新的所述解设为所述初始解,并且所述特定用户装置中的接收到所述同步信息的所述用户装置通过对从所述服务器装置发来的所述同步信息使用由该用户装置的所述用户解生成单元生成的新的所述解进行所述可逆运算的逆运算,从而从所述同步信息中取出与由未接收到所述同步信息的所述用户装置生成的所述解公用的所述解,并将其设为所述初始解,
由此能够在所述特定用户装置之间使所述解同步。
10.一种由服务器装置执行的方法,该服务器装置通过与大量的用户装置结合而构成通信***,该通信***包括经由网络能够相互通信的所述大量的用户装置以及进行所述用户装置之间的通信的控制的与所述网络连接的服务器装置而成,其中,
所述用户装置分别具有:
用户解生成单元,能够基于初始解连续地生成解,该解是罗列了规定数量的字符、数字、符号中的至少一种而成的伪随机数,该解的位数恒定或字符数恒定,在相同条件下生成的解始终相同;
用户加密单元,执行使用由所述用户解生成单元生成的所述解,将作为发送对象的发送对象数据加密为加密数据的处理;
用户发送单元,将所述加密数据发送到其它装置;
用户接收单元,从其它装置接收所述加密数据;以及
用户解密单元,执行使用由所述用户解生成单元生成的所述解将接收到的所述加密数据解密为所述发送对象数据的处理,
并且,在作为要进行加密通信的两个所述用户装置的特定用户装置相互具有公用的所述初始解的情况下,能够通过由两个所述用户装置的所述用户解生成单元分别生成在两个所述用户装置之间同步的公用的所述解,将通过由对方的所述用户加密单元加密所述发送对象数据而生成的、且从对方的所述用户发送单元发来并由自身的所述用户接收单元所接收的加密数据利用自身的所述用户解密单元解密为所述发送对象数据,从而所述特定用户装置能够进行加密通信,
并且能够通过所述用户发送单元向所述服务器装置发送作为特别指定所述特定用户装置的双方的信息的特定信息,
所述服务器装置具备服务器解生成单元,该服务器解生成单元能够基于在所述用户装置的每一个中与别的所述用户装置的所述初始解相同的所述初始解,生成与所述用户装置各自具有的所述用户解生成单元所生成的解相同的、且与所述用户装置各自的所述用户解生成单元所生成的解同步的所述解,所述方法包括由所述服务器装置执行的如下过程:
从所述特定用户装置的一方接收所述特定信息的第1过程;
使用由所述服务器解生成单元生成的所述解生成同步信息的第2过程,其中所述同步信息是为了所述特定用户装置得到相同的所述初始解并在所述特定用户装置之间使所述解同步所需的信息;以及
将所述同步信息发送到所述特定用户装置中的至少一个所述用户装置的第3过程,
在所述第2过程中,生成第一信息作为所述同步信息,并且生成第二信息作为所述同步信息,所述第一信息是对都是由所述服务器解生成单元生成的、作为所述初始解的所述解和能够由所述特定用户装置中的一个用户装置的所述用户解生成单元生成的所述解进行取它们的异或的可逆运算而得到的信息,所述第二信息是对都是由所述服务器解生成单元生成的、作为所述初始解的所述解和能够由所述特定用户装置中的另一个用户装置的所述用户解生成单元生成的所述解进行取它们的异或的可逆运算而得到的信息,
在所述第3过程中,将所述第一信息发送到一个所述用户装置,并且将所述第二信息发送到另一个所述用户装置,
所述特定用户装置中的一个所述用户装置通过对从所述服务器装置发来的所述同步信息使用由该用户装置的所述用户解生成单元生成的新的所述解进行所述可逆运算的逆运算,从而从作为所述第一信息的所述同步信息中取出所述解,并将其设为所述初始解,并且所述特定用户装置中的另一个所述用户装置通过对从所述服务器装置发来的所述同步信息使用由该用户装置的所述用户解生成单元生成的新的所述解进行所述可逆运算的逆运算,从而从作为所述第二信息的所述同步信息中取出与由一个所述用户装置取出的解公用的所述解,并将其作为所述初始解,
由此能够在所述特定用户装置之间使所述解同步。
CN201780075233.XA 2016-12-06 2017-12-06 通信***、服务器装置、用户装置、方法、计算机程序 Active CN110036598B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016236509A JP7158693B2 (ja) 2016-12-06 2016-12-06 通信システム、サーバ装置、ユーザ装置、方法、コンピュータプログラム
JP2016-236509 2016-12-06
PCT/JP2017/043764 WO2018105638A1 (ja) 2016-12-06 2017-12-06 通信システム、サーバ装置、ユーザ装置、方法、コンピュータプログラム

Publications (2)

Publication Number Publication Date
CN110036598A CN110036598A (zh) 2019-07-19
CN110036598B true CN110036598B (zh) 2023-03-14

Family

ID=62491407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780075233.XA Active CN110036598B (zh) 2016-12-06 2017-12-06 通信***、服务器装置、用户装置、方法、计算机程序

Country Status (6)

Country Link
US (1) US11394545B2 (zh)
EP (1) EP3553997A4 (zh)
JP (1) JP7158693B2 (zh)
CN (1) CN110036598B (zh)
PH (1) PH12019501597A1 (zh)
WO (1) WO2018105638A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022105403A (ja) * 2021-01-04 2022-07-14 株式会社 エヌティーアイ ユーザ装置、方法、コンピュータプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004080663A (ja) * 2002-08-22 2004-03-11 Abel Systems Inc 暗号化/復号鍵の鍵生成方法、暗号化/復号鍵の鍵生成装置、暗号化/復号鍵の鍵生成プログラムならびにコンピュータで読取可能な記録媒体
EP1946479A1 (en) * 2005-08-25 2008-07-23 Vodafone Group PLC Communication securiy
JP2009177684A (ja) * 2008-01-28 2009-08-06 N-Crypt Lab Inc 送受信システム、送信装置、受信装置、それらで実行される方法、並びにプログラム
JP2013236397A (ja) * 2013-07-23 2013-11-21 Nti Corp 送受信システム、送信装置、受信装置、それらで実行される方法、並びにプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7457416B1 (en) * 2002-07-17 2008-11-25 Bbn Technologies Corp. Key distribution center for quantum cryptographic key distribution networks
KR100457813B1 (ko) * 2003-02-07 2004-11-18 삼성전자주식회사 커뮤니티 서비스 제공 시스템 및 방법
US7233664B2 (en) * 2003-03-13 2007-06-19 New Mexico Technical Research Foundation Dynamic security authentication for wireless communication networks
US7616764B2 (en) * 2004-07-07 2009-11-10 Oracle International Corporation Online data encryption and decryption
US20080292105A1 (en) * 2007-05-22 2008-11-27 Chieh-Yih Wan Lightweight key distribution and management method for sensor networks
JP2009253650A (ja) * 2008-04-04 2009-10-29 N-Crypt Lab Inc 送受信システム、送信装置、受信装置、認証装置、ユーザ装置、それらで実行される方法、並びにプログラム
US8483394B2 (en) * 2010-06-15 2013-07-09 Los Alamos National Security, Llc Secure multi-party communication with quantum key distribution managed by trusted authority
JP2011259439A (ja) * 2011-06-23 2011-12-22 Nti Corp 通信システム、通信方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004080663A (ja) * 2002-08-22 2004-03-11 Abel Systems Inc 暗号化/復号鍵の鍵生成方法、暗号化/復号鍵の鍵生成装置、暗号化/復号鍵の鍵生成プログラムならびにコンピュータで読取可能な記録媒体
EP1946479A1 (en) * 2005-08-25 2008-07-23 Vodafone Group PLC Communication securiy
JP2009177684A (ja) * 2008-01-28 2009-08-06 N-Crypt Lab Inc 送受信システム、送信装置、受信装置、それらで実行される方法、並びにプログラム
JP2013236397A (ja) * 2013-07-23 2013-11-21 Nti Corp 送受信システム、送信装置、受信装置、それらで実行される方法、並びにプログラム

Also Published As

Publication number Publication date
EP3553997A1 (en) 2019-10-16
JP7158693B2 (ja) 2022-10-24
PH12019501597A1 (en) 2020-06-01
WO2018105638A1 (ja) 2018-06-14
EP3553997A4 (en) 2020-06-10
JP2018093417A (ja) 2018-06-14
US20190394036A1 (en) 2019-12-26
US11394545B2 (en) 2022-07-19
CN110036598A (zh) 2019-07-19

Similar Documents

Publication Publication Date Title
EP3453135B1 (en) System and method for encryption and decryption based on quantum key distribution
EP2853059B1 (en) Encryption key generation
US8984295B2 (en) Secure access to electronic devices
CN102223364B (zh) 一种访问电子书数据的方法及***
US11509463B2 (en) Timestamp-based shared key generation
CN109150519A (zh) 基于公共密钥池的抗量子计算云存储安全控制方法和***
EP2648397A1 (en) Method, System And Apparatus For Managing Persona-Based Notifications At A Communication Device
US20130028419A1 (en) System and a method for use in a symmetric key cryptographic communications
CN106134128B (zh) 使用关联私钥部分更快的公钥加密的***和方法
CN105993146A (zh) 不访问私钥而使用公钥密码的安全会话能力
CN105164968A (zh) 由至少一个服务器执行的用于处理从第一计算装置到第二计算装置的数据分组以允许端到端加密通信的方法
WO2005029763A1 (en) Data communication security arrangement and method
CN106161444B (zh) 数据安全存储方法及用户设备
CN104917807A (zh) 资源转移方法、装置和***
CN106254342A (zh) Android平台下支持文件加密的安全云存储方法
CN106302411A (zh) 基于Windows平台的支持文件加密的安全云存储方法及***
CN109936546B (zh) 数据加密存储方法和装置以及计算设备
WO2018080693A1 (en) Blind en/decryption for multiple clients using a single key pair
CN112534790B (zh) 在通信网络中交换加密数据的加密装置、通信***和方法
KR101952641B1 (ko) 클라우드 환경에서의 위치기반 다채널 로그인 인증 방법
CN110036598B (zh) 通信***、服务器装置、用户装置、方法、计算机程序
CN110166460B (zh) 业务帐号的注册方法和装置、存储介质、电子装置
CN109412788A (zh) 基于公共密钥池的抗量子计算代理云存储安全控制方法和***
EP4274153A1 (en) User device, method, and computer program
WO2018052090A1 (ja) 送受信システム、送信装置、受信装置、方法、コンピュータプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant