JPWO2004105310A1 - 暗号化装置、暗号化方法および暗号化プログラム - Google Patents

暗号化装置、暗号化方法および暗号化プログラム Download PDF

Info

Publication number
JPWO2004105310A1
JPWO2004105310A1 JP2004572087A JP2004572087A JPWO2004105310A1 JP WO2004105310 A1 JPWO2004105310 A1 JP WO2004105310A1 JP 2004572087 A JP2004572087 A JP 2004572087A JP 2004572087 A JP2004572087 A JP 2004572087A JP WO2004105310 A1 JPWO2004105310 A1 JP WO2004105310A1
Authority
JP
Japan
Prior art keywords
encryption
ciphertext
pattern
encryption method
data
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.)
Withdrawn
Application number
JP2004572087A
Other languages
English (en)
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2004105310A1 publication Critical patent/JPWO2004105310A1/ja
Withdrawn legal-status Critical Current

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

クライアント(1)とサーバ(2)は、それぞれパターンテーブル(11,21)を有し、クライアント(1)は、公開鍵をパターンテーブル(11)から読み出してデータ(D1)を暗号化し、暗号文(D2)を作成する。その後、暗号化に使用した公開鍵に対応するパターン番号(D3)を暗号文(D2)に付加してサーバ(2)に送信する。サーバ(2)は、暗号文(D2)に付加されたパターン番号(D3)をもとにパターンテーブル(21)を検索し、暗号化に使用された公開鍵と秘密鍵の組み合わせを特定する。このパターン番号(D1)によって特定された秘密鍵を用いて暗号文(D2)を復号することで、元のデータ(D1)を読み出す。

Description

この発明は、データ通信等においてデータを暗号化・復号化する暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラムおよび復号化プログラムに関し、特に通信の安全性を向上し、処理負荷を軽減した暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラムおよび復号化プログラムに関する。
近年、インターネットなどのネットワーク技術の発達に伴い、各種重要な情報がネットワークを介して送受信されている。このようなオープンネットワークを介して情報を送受信する場合、送受信されるデータの改竄や盗聴、なりすましを防止するためのセキュリティ技術が重要となる。
そこで、現在、暗号を利用したセキュアな通信技術が考案されている。例えば、SSL(Secure Sockets Layer)は、クライアント−サーバ間の通信をソケットレベルで暗号化する通信プロトコルであり、公開鍵暗号や共通鍵暗号、ディジタル証明書を組み合わせることで、データの改竄や盗聴、なりすましを防止している(非特許文献1参照。)。
http://www.verisign.co.jp/repository/faq/SSL/ このSSLを用いてサーバがクライアントを認証する場合、まず、公開鍵暗号を用いて共通鍵を共有し、この共有鍵を使用した共通鍵暗号によって通信をおこなっていた。
しかしながら、このような従来の認証では、目的とするデータ通信(共通鍵暗号による通信)の前に共通鍵を共有するための通信(公開鍵暗号による通信)が必要であるために、認証に要する時間や処理負荷、通信負荷が増大するという問題点があった。さらには通信回数が増加することにより、改竄、盗聴、なりすましの機会が増えるというセキュリティ上の問題があった。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、通信の安全性を向上し、処理負荷を軽減した暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラムおよび復号化プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明に係る暗号化装置、暗号化方法および暗号化プログラムは、データを暗号化して送信する場合に、自局に固有に割り当てられた暗号方式を記憶し、記憶した暗号方式を用いてデータを暗号化することで暗号文を作成することを特徴とする。
この発明によれば、自局に固有に割り当てられた暗号方式を利用することで、使用している暗号方式を秘匿して暗号通信を行うことができ、通信の安全性を向上して暗号化・復号化の処理負荷を軽減することができる。
また、本発明に係る暗号化装置、暗号化方法および暗号化プログラムは、暗号文作成時に用いた暗号方式を指定するパターン情報を暗号文に付加して送信することを特徴とする。
この発明によれば、暗号化に使用した暗号方式を、パターン情報によって送信先に通知することができるので、簡易な構成で通信の安全性を向上して暗号化・復号化の処理負荷を軽減することができる。
また、本発明に係る暗号化装置、暗号化方法および暗号化プログラムは、複数の暗号方式を記憶し、この複数の暗号方式からデータの暗号化に使用する暗号方式を選択することを特徴とする。
この発明によれば、通信ごとに使用する暗号方式を変更することができるので、通信の安全性をさらに向上することができる。
また、本発明に係る暗号化装置、暗号化方法および暗号化プログラムは、複数の暗号方式を記憶し、この複数の暗号方式からデータの暗号化に使用する暗号方式を選択するとともに、暗号文作成時に用いた暗号方式を指定するパターン情報を暗号文に付加して送信することを特徴とする。
この発明によれば、通信ごとに使用する暗号方式を変更することができ、暗号文化に使用した暗号方式を、パターン情報によって送信先に通知することができるので、簡易な構成で通信の安全性をさらに向上することができる。
また、本発明に係る暗号化装置、暗号化方法および暗号化プログラムは、暗号方式として公開鍵暗号を用いてデータを暗号化することを特徴とする。
この発明によれば、公開鍵を秘匿して暗号通信を行うことで、少ない桁数の鍵で強固な暗号通信を実現し、暗号化・復号化の処理負荷を軽減することができる。
また、本発明に係る暗号化装置、暗号化方法および暗号化プログラムは、RSA(Rivest−Shamir−Adleman)暗号を用いることを特徴とする。
この発明によれば、RSA暗号において、公開鍵を秘匿して通信を行うことで、少ない桁数の鍵で強固な暗号通信を実現し、暗号化・復号化の処理負荷を軽減することができる。
また、本発明に係る復号化装置、復号化方法および復号化プログラムは、暗号文を受信して元のデータに復号する場合に、受信した暗号文から、暗号化に用いられた暗号方式を特定し、特定した暗号方式を用いて暗号文を復号することを特徴とする。
この発明によれば、暗号文から暗号化に用いられた暗号方式を特定することで、使用している暗号方式を秘匿して暗号通信を行うことができ、通信の安全性を向上して暗号化・復号化の処理負荷を軽減することができる。
また、本発明に係る復号化装置、復号化方法および復号化プログラムは、受信した暗号文に付加されたパターン情報を取り出し、このパターン情報から暗号方式の特定を行うことを特徴とする。
この発明によれば、暗号化に使用された暗号方式を、暗号文に付加されたパターン情報から特定することができるので、簡易な構成で通信の安全性を向上して暗号化・復号化の処理負荷を軽減することができる。
また、本発明に係る復号化装置、復号化方法および復号化プログラムは、暗号文の送信元を特定し、この特定された送信元から暗号方式の特定を行うことを特徴とする。
この発明によれば、暗号化に使用された暗号方式を、暗号文の送信元から特定することができるので、通信の安全性をさらに向上することができる。
また、本発明に係る復号化装置、復号化方法および復号化プログラムは、公開鍵暗号に用いる公開鍵と秘密鍵との組み合わせを暗号方式として用い、特定した公開鍵に対応する秘密鍵を用いてデータを復号することを特徴とする。
この発明によれば、公開鍵を秘匿して暗号通信を行うことで、少ない桁数の鍵で強固な暗号通信を実現し、暗号化・復号化の処理負荷を軽減することができる。
また、本発明に係る復号化装置、復号化方法および復号化プログラムは、RSA暗号を用いることを特徴とする。
この発明によれば、RSA暗号において、公開鍵を秘匿して通信を行うことで、少ない桁数の鍵で強固な暗号通信を実現し、暗号化・復号化の処理負荷を軽減することができる。
第1図は、本発明における暗号通信の概念を説明する説明図であり、第2図は、本発明の実施の形態1における暗号通信システムの概要構成を説明する概要構成図であり、第3図は、パターンテーブルの具体例について説明する説明図であり、第4図は、クライアントの処理動作を説明するフローチャートであり、第5図は、サーバ2の処理動作を説明するフローチャートであり、第6図は、文字列を暗号化して通信する場合におけるパターンテーブルについて説明する図であり、第7図は、文字列の暗号化の具体例を示す図であり、第8図は、本発明の実施の形態2にかかる暗号通信システムの概要構成を説明する概要構成図であり、第9図は、クライアント50の処理動作を説明するフローチャートであり、第10図は、サーバ60の処理動作を説明するフローチャートであり、第11図は、クライアントとパターンとの対応関係を説明する説明図であり、第12図は、クライアント認証キー、パターン番号、公開鍵および秘密鍵の対応を説明する図であり、第13図は、パターンの更新方法の一例を説明する図であり、第14図は、サーバにおけるパターンテーブルの復元処理の一例を示す図である。
以下に添付図面を参照して、この発明に係る暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラムおよび復号化プログラムの好適な実施の形態を詳細に説明する。
(実施の形態1)
まず、本発明における暗号通信の概念について説明する。第1図は、本発明における暗号通信の概念を説明する説明図である。同図に示すように、クライアント1およびサーバ2は、それぞれパターンテーブル11,21を有する。サーバ2が有するパターンテーブル21は、RSA暗号に用いる公開鍵と秘密鍵のセットを記憶し、公開鍵と秘密鍵のセットにパターン番号を割り当てている。また、クライアント1が有するパターンテーブル11は、パターン番号と公開鍵とを記憶している。
クライアント1は、データD1を送信する場合に、パターンテーブル11から使用する公開鍵を選択し、選択した公開鍵を用いてデータD1を暗号化することで暗号文D2を作成する。さらに、クライアント1は、使用した公開鍵に対応するパターン番号D3を暗号文D2に付加してサーバ2に送信する。
一方、サーバ2は、暗号文D2およびパターン番号D3を受信した場合に、受信したパターン番号D3をもとにパターンテーブル21を検索し、暗号化に使用された公開鍵を特定する。その後、特定した公開鍵に対応する秘密鍵によって暗号文D2を復号してデータD1を取り出す。
ここで、公開鍵と秘密鍵を用いたRSA暗号について説明する。RSA暗号は、素数ではない大きな自然数の素因数分解が困難であることに基づいている。具体的には、任意の大きな2つの素数p,qを選び、その積をnとする(n=pq)。オイラーの定理から導いたオイラー関数φ(n)は次のように定義される。
φ(n)=(p−1)(q−1)
このφ(n)と互いに素となる数kを選ぶ。このnとkが公開鍵となる。つぎに、
1=hk×modφ(n)
を満たす整数hを計算する。このhが秘密鍵となる。平文をM、暗号文をCとすると、M<nであれば、以下の関係が成立する。
C=Mmodn
M=Cmodn
この関係を用いることで、秘密鍵hが分からなければ、公開鍵k,nが分かったとしても公開鍵から秘密鍵を算出するには膨大な計算が要求されることとなる。特に、桁数の鍵を大きくすることで、秘密鍵の算出はさらに困難なものとなる。
一般に用いられるRSA暗号はこの特性を利用し、公開鍵を誰でも入手可能にしておき、秘密鍵を秘匿することで通信のセキュリティを保っている。しかし、上述のように、公開鍵からの秘密鍵の算出は、困難ではあるが不可能ではない。そこで、公開鍵が誰でも入手できる状態であるならば、通信の安全性は鍵の桁数によって定まるので、十分な桁数の鍵を用いることが必要である。
一方、本発明における暗号通信では、公開鍵はクライアントに対してのみ公開され、他の端末に対しては秘匿される。さらに、クライアントがどの公開鍵を用いて暗号化したかは、パターン番号によって示される。すなわち、データ通信において公開鍵が晒されることがないので、少ない桁数で強固な暗号通信を実現することができる。
換言するならば、RSA暗号方式を利用する便宜上、公開鍵、秘密鍵との言葉を使用するが、本発明における公開鍵は、共通鍵暗号における共通鍵と同様に他の端末に対して秘匿されるものである。
つぎに、本実施の形態における暗号通信システムの具体的な構成について説明する。第2図は、本実施の形態における暗号通信システムの概要構成を説明する概要構成図である。同図に示すように、クライアント1はネットワーク3を介してサーバ2に接続される。また、クライアント1と同様の構成を有するクライアント4や、その他の図示しないクライアントがネットワーク3を介してサーバ3に接続される。
クライアント1は、送信データ作成部13、暗号文作成部12およびパターンテーブル11を有する。送信データ作成部13は、サーバ2に送信する元データを作成する処理部であり、例えばクライアント1とサーバ2との間で認証を行う場合であれば、認証要求データを作成する。
暗号文作成部12は、送信データ作成部13が作成したデータを暗号化する処理部であり、その内部にパターン選択部12a、暗号化処理部12b、パターン番号付加部12cを有する。パターン選択部12aは、パターンテーブル11から暗号化に用いる公開鍵を選択し、暗号化処理部12bは、送信データ作成部13が作成したデータを、パターン選択部12aによって選択された公開鍵を用いて暗号化した暗号文を作成する。さらにパターン番号付加部12cは、使用した公開鍵に対応するパターン番号を付加する処理をおこなう。
一方、サーバ2は、データ受信部23、復号部22、パターンテーブル21を有する。データ受信部23は、クライアントから暗号文を受信する処理部であり、受信した暗号文を復号部22に送信する。復号部22は、データ受信部23が受信した暗号文を復号化する処理部であり、その内部にパターン認識部22a、秘密鍵選択部22b、復号処理部22cを有する。パターン認識部22aは、暗号文に付加されたパターン番号を読み出す。秘密鍵選択部22bは、パターン認識部22aが読み出したパターン番号を用いて暗号化に使用された公開鍵を特定し、対応する秘密鍵を選択する。復号処理部22cは、この秘密鍵選択部22bによって選択された秘密鍵を用いて暗号文を復号する処理をおこなう。
つぎに、パターンテーブル11,21についてさらに説明する。パターンテーブルは、公開鍵と暗号鍵のセットにパターン番号を対応させたテーブルである。具体的には、上述した「k」と「n」の組み合わせを公開鍵をとして記憶し、「h」を秘密鍵として記憶している。また、パターンテーブルは公開鍵および暗号鍵に変えて、暗号化・復号化に用いるパラメータ、すなわち上述の「p」、「q」、「k」のセットを記憶するようにしてもよい
第3図は、パターンテーブルの具体例について説明する説明図である。第3図(a)に示したパターンテーブル31は、公開鍵として公開指数「k」および係数「n」を、秘密鍵として「h」を記憶している。たとえば、パターン番号「101」によって示されるパターンでは、公開指数が「5」、係数が「91」、秘密鍵が「29」である。また、パターン番号「102」によって示されるパターンでは、公開指数が「5」、係数が「145」、秘密鍵が「45」である。同様に、パターン番号「103」は公開指数が「7」、係数が「119」、秘密鍵が「55」の組み合わせを示し、パターン番号「104」は公開指数が「3」、係数が「1111」、秘密鍵が「467」の組み合わせを示す。
一方、第3図(b)に示したパターンテーブル32は、パターン番号に対してパラメータ「p」、「q」、「k」の組み合わせを対応させて記憶している。たとえば、パターン番号「001」によって示されるパターンでは、「p=7,q=13,k=5」である。また、パターン番号「002」によって示されるパターンでは、「p=29,q=5,k=5」である。同様に、パターン番号「003」によって示されるパターンでは、「p=7,q=17,k=7」であり、パターン番号「004」によって示されるパターンでは、「p=101,q=11,k=3」である。
サーバ2は、各クライアントが使用する全てのパターンについて、このパターン番号、公開鍵、秘密鍵の組み合わせ、もしくはパターン番号とパラメータの組み合わせを記憶する。一方、各クライアントは、このパターンテーブルの一部、すなわち自局が使用するパターンのみを記憶する。また、各クライアントは秘密鍵を記憶する必要は無く、パターン番号と公開鍵の組み合わせをパターンテーブルとして記憶すればよい。
このように、各クライアントに自局が使用するパターンのみを記憶させ、さらに秘密鍵をクライアント側に記憶させないようにすることで、暗号通信の強度を高めることができる。
つぎに、この第3図に示したパターンテーブルを参照し、暗号文作成の具体例を説明する。例えば、パターンテーブル31に示したパターン104を使用し、文字「a」の暗号化を行う場合、「a」のコードは「0x61」であり、このコードを10進数に変換すると「97」である。この文字「a」を示すデータ「97」を平文Mとし、パターン104である「k=3,n=1111」を使用すると、Mmodn=Cから
(97)mod(1111)=542
となり、暗号文は「542」となる。
また、パターンテーブル32に示したパターン002を使用し、文字「a」の暗号化を行う場合、「a」のコードを10進数に変換した「97」を平文Mとし、パターン002である「p=29,q=5,k=5」を使用すると、Mmod(pq)=Cから
(97)mod(29×5)=37
となり、暗号文は「37」となる。
このように、所定のパターンを用いて暗号化した後、使用したパターンの番号を付加して送信することで、サーバ側ではパターン番号をもとに復号に使用する秘密鍵を特定することができる。
つぎに、第2図に示したクライアント1の具体的な処理動作について説明する。第4図は、クライアント1の処理動作を説明するフローチャートである。同図に示すように、クライアント1は、送信データ作成部13が送信データを作成したならば(ステップS101)、パターン選択部12aが使用するパターンを選択する(ステップS102)。つづいて、暗号化処理部12bは、選択したパターンに対応する秘密鍵を読み出し(ステップS103)、送信データを暗号化する(ステップS104)。その後、パターン番号付加部12cは、暗号化したデータに使用したパターン番号を付加して(ステップS105)、暗号化したデータ(暗号文)を送信する(ステップS106)。
つづいて、第2図に示したサーバ2の具体的な処理動作について説明する。第5図は、サーバ2の処理動作を説明するフローチャートである。同図に示すように、サーバ2は、データ受信部23がクライアントからデータを受信したならば(ステップS201)、パターン認識部22aが受信したデータからパターン番号を取得する(ステップS202)。さらに、秘密鍵選択部22bがパターン番号から暗号化に使用された公開鍵と秘密鍵とのセットを特定し、対応する秘密鍵を読み出す(ステップS203)。その後、復号処理部22cは、読み出した秘密鍵を用いて暗号文を復号し、元のデータを取り出して(ステップS204)処理を終了する。
上述してきたように、本実施の形態1では、公開鍵と秘密鍵のセットに対してパターン番号を設定してパターンテーブルを作成してクライアントとサーバの間で共有し、クライアントがデータを暗号化する際に使用した公開鍵に対応するパターン番号を暗号文に付加して送信することで、通信ネットワークに公開鍵を晒すことなく公開鍵暗号方式を利用した通信を行うことができる。
また、公開鍵を秘匿することで少ない桁数で強固な暗号通信を実現することができるので、暗号化・復号化にかかる処理負荷を軽減することができる。特に、クライアント−サーバ間の認証に用いた場合、クライアントから直接に認証要求を送信することができるので、通信回数を抑え、セキュリティの向上と認証にかかる時間の短縮を実現できる。
ところで、以上の説明では一文字のデータを暗号化して送信する場合について説明したが、このように一文字ずつ暗号化して送信する場合に限らず、文字列を暗号化して送信する場合についても本発明を利用することができる。
文字列を暗号化して送信する場合、文字間を区分するために、一文字あたりの桁数を定めるようにすればよい。第6図は、文字列を暗号化して通信する場合におけるパターンテーブルについて説明する図である。同図に示すように、第6図(a)に示したパターンテーブル41は、第3図に示したパターンテーブル31に桁数のデータを追加したテーブルであり、第6図(b)に示したパターンテーブル42は、第3図に示したパターンテーブル32に桁数のデータを追加したテーブルである。
文字列を暗号化する場合、文字列に含まれるそれぞれの文字を暗号化した後、パターンテーブルに指定された桁数に揃える。第7図に文字列の暗号化の具体例を示す。第7図(a)に示した元のデータD1は、「123456789AB」である。この「1」をパターン002で暗号化すると「24」、桁数を3に合わせると「024」となる。また、「2」をパターン002で暗号化すると「60」、桁数を3に合わせると「060」となる。この様にデータD1に含まれる文字を順次暗号化し、それぞれの桁数を3に調整することで、暗号文D2を作成することができる。暗号文を送信する場合には、暗号文D2の末尾に使用したパターンを示すパターン番号「002」を付加すればよい。
また、サーバ2における復号化では、暗号文末尾のパターン番号を識別し、そのパターンに定められた桁数を知ることができるので、この桁数を元に暗号文を文字単位に分割して復号することができる。
このように文字列を暗号化して通信することにより、クライアント−サーバ間の通信回数をさらに抑制し、通信回線の負荷を軽減するとともにセキュリティ強度を高めることができる。
また、暗号強度をさらに高めるためには、通信ごとに異なるパターンを用いることが望ましい。このためにはクライアント側のパターンテーブルに複数のパターンを記憶させておき、通信ごとに異なるパターンを選択すればよい。サーバ側は、暗号文に付加されたパターン番号によって復号に用いるべき秘密鍵を特定することができるので、クライアントが毎回異なる公開鍵を用いたとしても暗号文を正確に復号することができる。
(実施の形態2)
ところで、上述した実施の形態1では、暗号文にパターン番号を付加することで暗号化に用いたパターンをサーバ側に伝えるようにしているが、本実施の形態2では、クライアントを識別して復号化に使用するパターンを特定する暗号通信システムについて説明する。
第8図は、本実施の形態2にかかる暗号通信システムの概要構成を説明する概要構成図である。同図に示すようにクライアント50はネットワーク3を介してサーバ60に接続されている。また、実施の形態1に示した暗号通信システムと同様に、クライアント4や図示しないクライアントがネットワーク3を介してサーバ60に接続されている。
クライアント50は、送信データ作成部13、暗号文作成部52およびパターンテーブル51を有する。送信データ作成部13は、サーバに送信するデータを作成する処理部である。また、パターンテーブル51は、公開鍵にパターン番号を対応させたパターンテーブルを記憶している。
暗号文作成部52は、暗号化処理部52aを有する。この暗号文作成部52は、パターンテーブル51に記憶した公開鍵を用いて暗号文を作成し、サーバ60に送信する。ここで、クライアント50は、暗号化に用いた公開鍵を示すパターン番号を付加しない。
一方、サーバ60は、データ受信部23、復号部62およびパターンテーブル61を有する。データ受信部23は、ネットワーク3を介して暗号文を受信して復号部62に送信する。パターンテーブル61は、公開鍵と秘密鍵のセットにパターン番号を付与して記憶するとともに、各クライアントを特定する情報、例えばIPアドレスとパターン番号を対応付けて記憶している。
復号部62は、その内部にクライアント認識部62a、パターン特定部62b、秘密鍵選択部62cおよび復号処理部62dを有する。クライアント認識部62aは、暗号文を受信した場合に、IPアドレスなどを参照して送信元のクライアントの認識をおこなう。また、パターン認識部62bは、クライアント認識部62aによる認識結果をもとに、暗号化に使用されたパターンを特定する。また、秘密鍵選択部62cは、パターン特定部62bが特定したパターンをもとに秘密鍵を選択する。復号処理部62dはこの秘密鍵を用いて暗号文を復号する。
すなわち、この実施の形態2に示した暗号通信システムでは、クライアントが記憶しているパターンをサーバ側に登録しておき、サーバはIPアドレスやMACアドレスなどを用いてクライアントを識別し、クライアントが使用する可能性のあるパターンから復号に用いる秘密鍵を選択するようにしている。
そのため、クライアントは暗号文にパターン番号を付加する必要がなく、ネットワーク上には暗号文のみが流れることとなるため、さらに強固なセキュリティを実現することができる。
つぎに、第8図に示したクライアント50の具体的な処理動作について説明する。第9図は、クライアント50の処理動作を説明するフローチャートである。同図に示すように、クライアント50は、送信データ作成部13が送信データを作成したならば(ステップS301)、パターンテーブル51から使用する暗号鍵を読み出す(ステップS302)。つづいて、暗号化処理部52aは、読み出した公開鍵を用いて送信データを暗号化し(ステップS303)、暗号化したデータ(暗号文)を送信する(ステップS304)。
つづいて、第8図に示したサーバ60の具体的な処理動作について説明する。第10図は、サーバ60の処理動作を説明するフローチャートである。同図に示すように、サーバ60は、データ受信部23がクライアントからデータを受信したならば(ステップS401)、クライアント認識部62aがIPアドレスなどからクライアントの識別をおこなう(ステップS402)。さらに、パターン特定部62bは、識別したクライアントが使用するパターンを特定する(ステップS403)。つづいて、秘密鍵選択部62cが特定したパターンに対応する秘密鍵を読み出す(ステップS404)。その後、復号処理部62dは、読み出した秘密鍵を用いて暗号文を復号し、元のデータを取り出して(ステップS405)処理を終了する。
ここで、サーバ60がパターンテーブル61に記憶する、クライアントとパターンとの関係を説明する。第11図は、クライアントとパターンとの対応関係を説明する説明図である。第11図(a)に示したテーブル71は、クライアントとパターンとの関係を示す。同図に示すクライアント認証キーは、例えばIPアドレスやMACアドレスなどのクライアントの特定に使用可能な任意の情報である。テーブル71では、クライアント認証キー「A」に対してパターン番号「101」、「002」が対応している。すなわち、クライアント認証キー「A」によって特定されるクライアントから受信した暗号文は、パターン101もしくはパターン002を使用して暗号化されていることとなる。また、クライアント認証キー「B」に対してはパターン番号「001」が対応し、クライアント認証キー「C」に対してはパターン番号「102」が対応する。すなわち、クライアント認証キー「B」によって特定されるクライアントから受信した暗号文は、パターン001によって暗号化されており、クライアント認証キー「C」によって特定されるクライアントから受信した暗号文は、パターン102によって暗号化されていることとなる。
また、第11図(b)に示したテーブル72は、各クライアントが記憶しているパターン数を示す。具体的には、クライアント認証キー「A」によって特定されるクライアントは、4つのパターンを記憶しており、クライアント認証キー「B」によって特定されるクライアントは、1つのパターンを記憶している。また、クライアント認証キー「C」によって特定されるクライアントは、5つのパターンを記憶しており、クライアント認証キー「D」によって特定されるクライアントは、8つのパターンを記憶している。
なお、クライアントとパターンとの対応関係は、公開鍵や秘密鍵との対応関係と合わせて記憶しても良い。第12図は、クライアント認証キー、パターン番号、公開鍵および秘密鍵をそれぞれ対応付けて記憶するパターンテーブルである。
上述してきたように、本実施の形態2では、公開鍵と秘密鍵のセットに対してパターン番号を設定してパターンテーブルを作成してクライアントとサーバの間で共有するとともに、クライアントが記憶しているパターンをサーバ側に登録しているので、サーバはIPアドレスやMACアドレスなどを用いてクライアントを識別し、クライアントが使用する可能性のあるパターンから復号に用いる秘密鍵を選択して復号化することができる。
ところで、通信の安全性をさらに向上するためには、クライアントが使用するパターンは、適宜更新可能とすることが望ましい。本発明におけるパターンの更新方法の一例を、第13図を参照して説明する。同図に示すように、まず、クライアントがパターン更新要求を暗号化して送信したならば(ステップS501)、サーバは、このパターン更新要求を受信し、復号化してパターン更新要求を取り出す(ステップS601)。つぎに、サーバは、パターンテーブル61を参照し、クライアントが使用していたパターン数およびパターン番号を特定する(ステップS602)。その後、サーバは、新規のパターンを作成し(ステップS603)、新規パターンテーブルをクライアントの既存のパターンで暗号化して送信する(ステップS604)。
クライアントは、このデータを受信し、復号化して新規のパターンテーブルを取り出す(ステップS502)。その後、クライアントは、必要な全てのデータを受信したか否かを判定する(ステップS504)。全てのデータを受信していれば(ステップS504,Yes)、クライアントは、受信したデータ同一内容のデータをサーバに送信する(ステップS506)。一方、全てのデータを受信していなければ(ステップS504,No)、クライアントは、自局の既存のパターンで現在のパターンテーブルを暗号化してサーバ1に送信する(ステップS505)。
サーバは、クライアントが送信したデータを受信する(ステップS605)。この受信したデータが送信したデータと同一であるならば(ステップS606,Yes)、サーバは、パターンテーブルを更新し(ステップS608)、更新成功をクライアントに通知する(ステップS609)。また、受信したデータが送信したデータと異なる場合(ステップS606,No)、サーバは、更新失敗をクライアントに通知して(ステップS607)、処理を終了する。
一方、クライアントは、更新結果を受信し(ステップS507)、更新か成功していたならば(ステップS508,Yes)。パターンテーブルの更新を実行する(ステップS509)。このパターンテーブルの更新終了後、もしくは更新が失敗した場合(ステップS508,No)、クライアントは処理を終了する。
さらに、パターンテーブルの更新が失敗した場合には、パターンテーブルの復元を行い、既存のパターンテーブルによる暗号通信を確保することが望ましい。第14図は、サーバにおけるパターンテーブルの復元処理の一例を示す図である。同図に示すように、サーバは、クライアントからパターンテーブルの復元要求を受信したならば(ステップS701)、受信したデータにパターン番号が付加されているか否かを判定する(ステップS702)。
受信したデータにパターン番号が付加されているならば(ステップS702,Yes)、サーバは、受信したデータからパターン番号を取得する(ステップS703)。また、サーバは、IPアドレスなどに基づいてクライアントを特定するとともに、パターンテーブルからパターン番号を特定する(ステップS704)。その後、サーバは、受信したパターン番号と、パターンテーブルから読み出したパターン番号とを比較し(ステップS705)、パターン番号が一致したならば(ステップS706,Yes)、パターンテーブルの更新成功をクライアントに通知して処理を終了する。
一方、パターン番号が一致しないならば(ステップS705,No)、サーバは、旧いパターンテーブルからパターン番号を読み出し(ステップS707)、データに付加されていたパターン番号と比較する(ステップS708)。データに付加されていたパターン番号が旧いパターン番号と一致したならば(ステップS708,Yes)、サーバは、パターンテーブルを復元し(ステップS716)、パターンテーブルの復元完了をクライアントに通知して(ステップS717)、処理を終了する。また、データに付加されていたパターン番号が旧いパターン番号と一致しないならば(ステップS708,No)、サーバはクライアントにエラーメッセージを通知し(ステップS709)、処理を終了する。
なお、受信したデータにパターン番号が付加されていないならば(ステップS702,No)、サーバは、受信したデータのIPアドレスなどを用いてクライアントを特定し(ステップS710)、パターンテーブルからパターン番号を取得する(ステップS712)。つづいて、サーバは、取得したパターン番号に対応する秘密鍵で受信したデータの復号をおこない、復号が成功したならば(ステップS713,Yes)、パターンテーブルの更新成功をクライアントに通知して処理を終了する(ステップS718)。
一方、復号に失敗したならば(ステップS713,No)、サーバは、旧いパターンテーブルからパターン番号を取得し(ステップS714)、復号を実行する(ステップS715)。旧いパターン番号を用いた復号に成功したならば(ステップS715,Yes)、サーバはパターンテーブルを復元し(ステップS716)、パターンテーブルの復元完了をクライアントに通知して(ステップS717)、処理を終了する。また、旧いパターン番号を用いた復号に失敗したならば(ステップS715,No)、サーバは、クライアントにエラーメッセージを通知して(ステップS709)処理を終了する。
このように、クライアントからの更新要求に基づいて、クライアントとサーバの間で共有するパターンテーブルを更新することにより、必要に応じて使用するパターンテーブルを変更し、通信の安全性を向上することができる。
なお、パターンテーブルの更新は、実施の形態2に限らず、実施の形態1に示した暗号通信システムにおいても有効であることはいうまでもない。
また、実施の形態1および実施の形態2では、RSA暗号を利用する場合について説明したが、本発明の利用はこれに限定されるものではなく、任意の暗号方式を用いて実施することが可能である。
以上のように、本発明にかかる暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラムおよび復号化プログラムは、暗号通信における通信の安全性向上および処理負荷軽減に対して有用である。
【書類名】 明細書
【技術分野】
【0001】
この発明は、データ通信等においてデータを暗号化する暗号化装置、暗号化方法および暗号化プログラムに関し、特に通信の安全性を向上し、処理負荷を軽減した暗号化装置、暗号化方法および暗号化プログラムに関する。
【背景技術】
【0002】
近年、インターネットなどのネットワーク技術の発達に伴い、各種重要な情報がネットワークを介して送受信されている。このようなオープンネットワークを介して情報を送受信する場合、送受信されるデータの改竄や盗聴、なりすましを防止するためのセキュリティ技術が重要となる。
【0003】
そこで、現在、暗号を利用したセキュアな通信技術が考案されている。例えば、SSL(Secure Sockets Layer)は、クライアント−サーバ間の通信をソケットレベルで暗号化する通信プロトコルであり、公開鍵暗号や共通鍵暗号、ディジタル証明書を組み合わせることで、データの改竄や盗聴、なりすましを防止している(非特許文献1参照。)。
【0004】
【非特許文献1】 http://www.verisign.co.jp/repository/faq/SSL/
【0005】
このSSLを用いてサーバがクライアントを認証する場合、まず、公開鍵暗号を用いて共通鍵を共有し、この共有鍵を使用した共通鍵暗号によって通信をおこなっていた。
【0006】
しかしながら、このような従来の認証では、目的とするデータ通信(共通鍵暗号による通信)の前に共通鍵を共有するための通信(公開鍵暗号による通信)が必要であるために、認証に要する時間や処理負荷、通信負荷が増大するという問題点があった。さらには通信回数が増加することにより、改竄、盗聴、なりすましの機会が増えるというセキュリティ上の問題があった。
【0007】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、通信の安全性を向上し、処理負荷を軽減した暗号化装置、暗号化方法および暗号化プログラムを提供することを目的とする。
【発明の開示】
【0008】
上述した課題を解決し、目的を達成するため、本発明に係る暗号化装置、暗号化方法および暗号化プログラムは、データを暗号化して送信する場合に、自局に固有に割り当てられた暗号方式を記憶し、記憶した暗号方式を用いてデータを暗号化することで暗号文を作成することを特徴とする。
【0009】
この発明によれば、自局に固有に割り当てられた暗号方式を利用することで、使用している暗号方式を秘匿して暗号通信を行うことができ、通信の安全性を向上して暗号化・復号化の処理負荷を軽減することができる。
【0010】
また、本発明に係る暗号化装置、暗号化方法および暗号化プログラムは、暗号文作成時に用いた暗号方式を指定するパターン情報を暗号文に付加して送信することを特徴とする。
【0011】
この発明によれば、暗号化に使用した暗号方式を、パターン情報によって送信先に通知することができるので、簡易な構成で通信の安全性を向上して暗号化・復号化の処理負荷を軽減することができる。
【0012】
また、本発明に係る暗号化装置、暗号化方法および暗号化プログラムは、複数の暗号方式を記憶し、この複数の暗号方式からデータの暗号化に使用する暗号方式を選択することを特徴とする。
【0013】
この発明によれば、通信ごとに使用する暗号方式を変更することができるので、通信の安全性をさらに向上することができる。
【0014】
また、本発明に係る暗号化装置、暗号化方法および暗号化プログラムは、複数の暗号方式を記憶し、この複数の暗号方式からデータの暗号化に使用する暗号方式を選択するとともに、暗号文作成時に用いた暗号方式を指定するパターン情報を暗号文に付加して送信することを特徴とする。
【0015】
この発明によれば、通信ごとに使用する暗号方式を変更することができ、暗号文化に使用した暗号方式を、パターン情報によって送信先に通知することができるので、簡易な構成で通信の安全性をさらに向上することができる。
【0016】
また、本発明に係る暗号化装置、暗号化方法および暗号化プログラムは、暗号方式として公開鍵暗号を用いてデータを暗号化することを特徴とする。
【0017】
この発明によれば、公開鍵を秘匿して暗号通信を行うことで、少ない桁数の鍵で強固な暗号通信を実現し、暗号化・復号化の処理負荷を軽減することができる。
【0018】
また、本発明に係る暗号化装置、暗号化方法および暗号化プログラムは、RSA(Rivest-Shamir-Adleman)暗号を用いることを特徴とする。
【0019】
この発明によれば、RSA暗号において、公開鍵を秘匿して通信を行うことで、少ない桁数の鍵で強固な暗号通信を実現し、暗号化・復号化の処理負荷を軽減することができる。
【発明を実施するための最良の形態】
【0020】
以下に添付図面を参照して、この発明に係る暗号化装置、暗号化方法、および暗号化プログラムの好適な実施の形態を詳細に説明する。
【0021】
(実施の形態1)
まず、本発明における暗号通信の概念について説明する。第1図は、本発明における暗号通信の概念を説明する説明図である。同図に示すように、クライアント1およびサーバ2は、それぞれパターンテーブル11,21を有する。サーバ2が有するパターンテーブル21は、RSA暗号に用いる公開鍵と秘密鍵のセットを記憶し、公開鍵と秘密鍵のセットにパターン番号を割り当てている。また、クライアント1が有するパターンテーブル11は、パターン番号と公開鍵とを記憶している。
【0022】
クライアント1は、データD1を送信する場合に、パターンテーブル11から使用する公開鍵を選択し、選択した公開鍵を用いてデータD1を暗号化することで暗号文D2を作成する。さらに、クライアント1は、使用した公開鍵に対応するパターン番号D3を暗号文D2に付加してサーバ2に送信する。
【0023】
一方、サーバ2は、暗号文D2およびパターン番号D3を受信した場合に、受信したパターン番号D3をもとにパターンテーブル21を検索し、暗号化に使用された公開鍵を特定する。その後、特定した公開鍵に対応する秘密鍵によって暗号文D2を復号してデータD1を取り出す。
【0024】
ここで、公開鍵と秘密鍵を用いたRSA暗号について説明する。RSA暗号は、素数ではない大きな自然数の素因数分解が困難であることに基づいている。具体的には、任意の大きな2つの素数p,qを選び、その積をnとする(n=pq)。オイラーの定理から導いたオイラー関数φ(n)は次のように定義される。
φ(n)=(p−1)(q−1)
このφ(n)と互いに素となる数kを選ぶ。このnとkが公開鍵となる。つぎに、
1=hk×modφ(n)
を満たす整数hを計算する。このhが秘密鍵となる。平文をM、暗号文をCとすると、M<nであれば、以下の関係が成立する。
C=MKmodn
M=Chmodn
この関係を用いることで、秘密鍵hが分からなければ、公開鍵k,nが分かったとしても公開鍵から秘密鍵を算出するには膨大な計算が要求されることとなる。特に、桁数の鍵を大きくすることで、秘密鍵の算出はさらに困難なものとなる。
【0025】
一般に用いられるRSA暗号はこの特性を利用し、公開鍵を誰でも入手可能にしておき、秘密鍵を秘匿することで通信のセキュリティを保っている。しかし、上述のように、公開鍵からの秘密鍵の算出は、困難ではあるが不可能ではない。そこで、公開鍵が誰でも入手できる状態であるならば、通信の安全性は鍵の桁数によって定まるので、十分な桁数の鍵を用いることが必要である。
【0026】
一方、本発明における暗号通信では、公開鍵はクライアントに対してのみ公開され、他の端末に対しては秘匿される。さらに、クライアントがどの公開鍵を用いて暗号化したかは、パターン番号によって示される。すなわち、データ通信において公開鍵が晒されることがないので、少ない桁数で強固な暗号通信を実現することができる。
【0027】
換言するならば、RSA暗号方式を利用する便宜上、公開鍵、秘密鍵との言葉を使用するが、本発明における公開鍵は、共通鍵暗号における共通鍵と同様に他の端末に対して秘匿されるものである。
【0028】
つぎに、本実施の形態における暗号通信システムの具体的な構成について説明する。第2図は、本実施の形態における暗号通信システムの概要構成を説明する概要構成図である。同図に示すように、クライアント1はネットワーク3を介してサーバ2に接続される。また、クライアント1と同様の構成を有するクライアント4や、その他の図示しないクライアントがネットワーク3を介してサーバ3に接続される。
【0029】
クライアント1は、送信データ作成部13、暗号文作成部12およびパターンテーブル11を有する。送信データ作成部13は、サーバ2に送信する元データを作成する処理部であり、例えばクライアント1とサーバ2との間で認証を行う場合であれば、認証要求データを作成する。
【0030】
暗号文作成部12は、送信データ作成部13が作成したデータを暗号化する処理部であり、その内部にパターン選択部12a、暗号化処理部12b、パターン番号付加部12cを有する。パターン選択部12aは、パターンテーブル11から暗号化に用いる公開鍵を選択し、暗号化処理部12bは、送信データ作成部13が作成したデータを、パターン選択部12aによって選択された公開鍵を用いて暗号化した暗号文を作成する。さらにパターン番号付加部12cは、使用した公開鍵に対応するパターン番号を付加する処理をおこなう。
【0031】
一方、サーバ2は、データ受信部23、復号部22、パターンテーブル21を有する。データ受信部23は、クライアントから暗号文を受信する処理部であり、受信した暗号文を復号部22に送信する。復号部22は、データ受信部23が受信した暗号文を復号化する処理部であり、その内部にパターン認識部22a、秘密鍵選択部22b、復号処理部22cを有する。パターン認識部22aは、暗号文に付加されたパターン番号を読み出す。秘密鍵選択部22bは、パターン認識部22aが読み出したパターン番号を用いて暗号化に使用された公開鍵を特定し、対応する秘密鍵を選択する。復号処理部22cは、この秘密鍵選択部22bによって選択された秘密鍵を用いて暗号文を復号する処理をおこなう。
【0032】
つぎに、パターンテーブル11,21についてさらに説明する。パターンテーブルは、公開鍵と暗号鍵のセットにパターン番号を対応させたテーブルである。具体的には、上述した「k」と「n」の組み合わせを公開鍵をとして記憶し、「h」を秘密鍵として記憶している。また、パターンテーブルは公開鍵および暗号鍵に変えて、暗号化・復号化に用いるパラメータ、すなわち上述の「p」、「q」、「k」のセットを記憶するようにしてもよい
【0033】
第3図は、パターンテーブルの具体例について説明する説明図である。第3図(a)に示したパターンテーブル31は、公開鍵として公開指数「k」および係数「n」を、秘密鍵として「h」を記憶している。たとえば、パターン番号「101」によって示されるパターンでは、公開指数が「5」、係数が「91」、秘密鍵が「29」である。また、パターン番号「102」によって示されるパターンでは、公開指数が「5」、係数が「145」、秘密鍵が「45」である。同様に、パターン番号「103」は公開指数が「7」、係数が「119」、秘密鍵が「55」の組み合わせを示し、パターン番号「104」は公開指数が「3」、係数が「1111」、秘密鍵が「467」の組み合わせを示す。
【0034】
一方、第3図(b)に示したパターンテーブル32は、パターン番号に対してパラメータ「p」、「q」、「k」の組み合わせを対応させて記憶している。たとえば、パターン番号「001」によって示されるパターンでは、「p=7,q=13,k=5」である。また、パターン番号「002」によって示されるパターンでは、「p=29,q=5,k=5」である。同様に、パターン番号「003」によって示されるパターンでは、「p=7,q=17,k=7」であり、パターン番号「004」によって示されるパターンでは、「p=101,q=11,k=3」である。
【0035】
サーバ2は、各クライアントが使用する全てのパターンについて、このパターン番号、公開鍵、秘密鍵の組み合わせ、もしくはパターン番号とパラメータの組み合わせを記憶する。一方、各クライアントは、このパターンテーブルの一部、すなわち自局が使用するパターンのみを記憶する。また、各クライアントは秘密鍵を記憶する必要は無く、パターン番号と公開鍵の組み合わせをパターンテーブルとして記憶すればよい。
【0036】
このように、各クライアントに自局が使用するパターンのみを記憶させ、さらに秘密鍵をクライアント側に記憶させないようにすることで、暗号通信の強度を高めることができる。
【0037】
つぎに、この第3図に示したパターンテーブルを参照し、暗号文作成の具体例を説明する。例えば、パターンテーブル31に示したパターン104を使用し、文字「a」の暗号化を行う場合、「a」のコードは「0x61」であり、このコードを10進数に変換すると「97」である。この文字「a」を示すデータ「97」を平文Mとし、パターン104である「k=3,n=1111」を使用すると、MKmodn=Cから
(97)3mod(1111)=542
となり、暗号文は「542」となる。
【0038】
また、パターンテーブル32に示したパターン002を使用し、文字「a」の暗号化を行う場合、「a」のコードを10進数に変換した「97」を平文Mとし、パターン002である「p=29,q=5,k=5」を使用すると、MKmod(pq)=Cから
(97)5mod(29×5)=37
となり、暗号文は「37」となる。
【0039】
このように、所定のパターンを用いて暗号化した後、使用したパターンの番号を付加して送信することで、サーバ側ではパターン番号をもとに復号に使用する秘密鍵を特定することができる。
【0040】
つぎに、第2図に示したクライアント1の具体的な処理動作について説明する。第4図は、クライアント1の処理動作を説明するフローチャートである。同図に示すように、クライアント1は、送信データ作成部13が送信データを作成したならば(ステップS101)、パターン選択部12aが使用するパターンを選択する(ステップS102)。つづいて、暗号化処理部12bは、選択したパターンに対応する秘密鍵を読み出し(ステップS103)、送信データを暗号化する(ステップS104)。その後、パターン番号付加部12cは、暗号化したデータに使用したパターン番号を付加して(ステップS105)、暗号化したデータ(暗号文)を送信する(ステップS106)。
【0041】
つづいて、第2図に示したサーバ2の具体的な処理動作について説明する。第5図は、サーバ2の処理動作を説明するフローチャートである。同図に示すように、サーバ2は、データ受信部23がクライアントからデータを受信したならば(ステップS201)、パターン認識部22aが受信したデータからパターン番号を取得する(ステップS202)。さらに、秘密鍵選択部22bがパターン番号から暗号化に使用された公開鍵と秘密鍵とのセットを特定し、対応する秘密鍵を読み出す(ステップS203)。その後、復号処理部22cは、読み出した秘密鍵を用いて暗号文を復号し、元のデータを取り出して(ステップS204)処理を終了する。
【0042】
上述してきたように、本実施の形態1では、公開鍵と秘密鍵のセットに対してパターン番号を設定してパターンテーブルを作成してクライアントとサーバの間で共有し、クライアントがデータを暗号化する際に使用した公開鍵に対応するパターン番号を暗号文に付加して送信することで、通信ネットワークに公開鍵を晒すことなく公開鍵暗号方式を利用した通信を行うことができる。
【0043】
また、公開鍵を秘匿することで少ない桁数で強固な暗号通信を実現することができるので、暗号化・復号化にかかる処理負荷を軽減することができる。特に、クライアント−サーバ間の認証に用いた場合、クライアントから直接に認証要求を送信することができるので、通信回数を抑え、セキュリティの向上と認証にかかる時間の短縮を実現できる。
【0044】
ところで、以上の説明では一文字のデータを暗号化して送信する場合について説明したが、このように一文字ずつ暗号化して送信する場合に限らず、文字列を暗号化して送信する場合についても本発明を利用することができる。
【0045】
文字列を暗号化して送信する場合、文字間を区分するために、一文字あたりの桁数を定めるようにすればよい。第6図は、文字列を暗号化して通信する場合におけるパターンテーブルについて説明する図である。同図に示すように、第6図(a)に示したパターンテーブル41は、第3図に示したパターンテーブル31に桁数のデータを追加したテーブルであり、第6図(b)に示したパターンテーブル42は、第3図に示したパターンテーブル32に桁数のデータを追加したテーブルである。
【0046】
文字列を暗号化する場合、文字列に含まれるそれぞれの文字を暗号化した後、パターンテーブルに指定された桁数に揃える。第7図に文字列の暗号化の具体例を示す。第7図(a)に示した元のデータD1は、「123456789AB」である。この「1」をパターン002で暗号化すると「24」、桁数を3に合わせると「024」となる。また、「2」をパターン002で暗号化すると「60」、桁数を3に合わせると「060」となる。この様にデータD1に含まれる文字を順次暗号化し、それぞれの桁数を3に調整することで、暗号文D2を作成することができる。暗号文を送信する場合には、暗号文D2の末尾に使用したパターンを示すパターン番号「002」を付加すればよい。
【0047】
また、サーバ2における復号化では、暗号文末尾のパターン番号を識別し、そのパターンに定められた桁数を知ることができるので、この桁数を元に暗号文を文字単位に分割して復号することができる。
【0048】
このように文字列を暗号化して通信することにより、クライアント−サーバ間の通信回数をさらに抑制し、通信回線の負荷を軽減するとともにセキュリティ強度を高めることができる。
【0049】
また、暗号強度をさらに高めるためには、通信ごとに異なるパターンを用いることが望ましい。このためにはクライアント側のパターンテーブルに複数のパターンを記憶させておき、通信ごとに異なるパターンを選択すればよい。サーバ側は、暗号文に付加されたパターン番号によって復号に用いるべき秘密鍵を特定することができるので、クライアントが毎回異なる公開鍵を用いたとしても暗号文を正確に復号することができる。
【0050】
(実施の形態2)
ところで、上述した実施の形態1では、暗号文にパターン番号を付加することで暗号化に用いたパターンをサーバ側に伝えるようにしているが、本実施の形態2では、クライアントを識別して復号化に使用するパターンを特定する暗号通信システムについて説明する。
【0051】
第8図は、本実施の形態2にかかる暗号通信システムの概要構成を説明する概要構成図である。同図に示すようにクライアント50はネットワーク3を介してサーバ60に接続されている。また、実施の形態1に示した暗号通信システムと同様に、クライアント4や図示しないクライアントがネットワーク3を介してサーバ60に接続されている。
【0052】
クライアント50は、送信データ作成部13、暗号文作成部52およびパターンテーブル51を有する。送信データ作成部13は、サーバに送信するデータを作成する処理部である。また、パターンテーブル51は、公開鍵にパターン番号を対応させたパターンテーブルを記憶している。
【0053】
暗号文作成部52は、暗号化処理部52aを有する。この暗号文作成部52は、パターンテーブル51に記憶した公開鍵を用いて暗号文を作成し、サーバ60に送信する。ここで、クライアント50は、暗号化に用いた公開鍵を示すパターン番号を付加しない。
【0054】
一方、サーバ60は、データ受信部23、復号部62およびパターンテーブル61を有する。データ受信部23は、ネットワーク3を介して暗号文を受信して復号部62に送信する。パターンテーブル61は、公開鍵と秘密鍵のセットにパターン番号を付与して記憶するとともに、各クライアントを特定する情報、例えばIPアドレスとパターン番号を対応付けて記憶している。
【0055】
復号部62は、その内部にクライアント認識部62a、パターン特定部62b、秘密鍵選択部62cおよび復号処理部62dを有する。クライアント認識部62aは、暗号文を受信した場合に、IPアドレスなどを参照して送信元のクライアントの認識をおこなう。また、パターン認識部62bは、クライアント認識部62aによる認識結果をもとに、暗号化に使用されたパターンを特定する。また、秘密鍵選択部62cは、パターン特定部62bが特定したパターンをもとに秘密鍵を選択する。復号処理部62dはこの秘密鍵を用いて暗号文を復号する。
【0056】
すなわち、この実施の形態2に示した暗号通信システムでは、クライアントが記憶しているパターンをサーバ側に登録しておき、サーバはIPアドレスやMACアドレスなどを用いてクライアントを識別し、クライアントが使用する可能性のあるパターンから復号に用いる秘密鍵を選択するようにしている。
【0057】
そのため、クライアントは暗号文にパターン番号を付加する必要がなく、ネットワーク上には暗号文のみが流れることとなるため、さらに強固なセキュリティを実現することができる。
【0058】
つぎに、第8図に示したクライアント50の具体的な処理動作について説明する。第9図は、クライアント50の処理動作を説明するフローチャートである。同図に示すように、クライアント50は、送信データ作成部13が送信データを作成したならば(ステップS301)、パターンテーブル51から使用する暗号鍵を読み出す(ステップS302)。つづいて、暗号化処理部52aは、読み出した公開鍵を用いて送信データを暗号化し(ステップS303)、暗号化したデータ(暗号文)を送信する(ステップS304)。
【0059】
つづいて、第8図に示したサーバ60の具体的な処理動作について説明する。第10図は、サーバ60の処理動作を説明するフローチャートである。同図に示すように、サーバ60は、データ受信部23がクライアントからデータを受信したならば(ステップS401)、クライアント認識部62aがIPアドレスなどからクライアントの識別をおこなう(ステップS402)。さらに、パターン特定部62bは、識別したクライアントが使用するパターンを特定する(ステップS403)。つづいて、秘密鍵選択部62cが特定したパターンに対応する秘密鍵を読み出す(ステップS404)。その後、復号処理部62dは、読み出した秘密鍵を用いて暗号文を復号し、元のデータを取り出して(ステップS405)処理を終了する。
【0060】
ここで、サーバ60がパターンテーブル61に記憶する、クライアントとパターンとの関係を説明する。第11図は、クライアントとパターンとの対応関係を説明する説明図である。第11図(a)に示したテーブル71は、クライアントとパターンとの関係を示す。同図に示すクライアント認証キーは、例えばIPアドレスやMACアドレスなどのクライアントの特定に使用可能な任意の情報である。テーブル71では、クライアント認証キー「A」に対してパターン番号「101」、「002」が対応している。すなわち、クライアント認証キー「A」によって特定されるクライアントから受信した暗号文は、パターン101もしくはパターン002を使用して暗号化されていることとなる。また、クライアント認証キー「B」に対してはパターン番号「001」が対応し、クライアント認証キー「C」に対してはパターン番号「102」が対応する。すなわち、クライアント認証キー「B」によって特定されるクライアントから受信した暗号文は、パターン001によって暗号化されており、クライアント認証キー「C」によって特定されるクライアントから受信した暗号文は、パターン102によって暗号化されていることとなる。
【0061】
また、第11図(b)に示したテーブル72は、各クライアントが記憶しているパターン数を示す。具体的には、クライアント認証キー「A」によって特定されるクライアントは、4つのパターンを記憶しており、クライアント認証キー「B」によって特定されるクライアントは、1つのパターンを記憶している。また、クライアント認証キー「C」によって特定されるクライアントは、5つのパターンを記憶しており、クライアント認証キー「D」によって特定されるクライアントは、8つのパターンを記憶している。
【0062】
なお、クライアントとパターンとの対応関係は、公開鍵や秘密鍵との対応関係と合わせて記憶しても良い。第12図は、クライアント認証キー、パターン番号、公開鍵および秘密鍵をそれぞれ対応付けて記憶するパターンテーブルである。
【0063】
上述してきたように、本実施の形態2では、公開鍵と秘密鍵のセットに対してパターン番号を設定してパターンテーブルを作成してクライアントとサーバの間で共有するとともに、クライアントが記憶しているパターンをサーバ側に登録しているので、サーバはIPアドレスやMACアドレスなどを用いてクライアントを識別し、クライアントが使用する可能性のあるパターンから復号に用いる秘密鍵を選択して復号化することができる。
【0064】
ところで、通信の安全性をさらに向上するためには、クライアントが使用するパターンは、適宜更新可能とすることが望ましい。本発明におけるパターンの更新方法の一例を、第13図を参照して説明する。同図に示すように、まず、クライアントがパターン更新要求を暗号化して送信したならば(ステップS501)、サーバは、このパターン更新要求を受信し、復号化してパターン更新要求を取り出す(ステップS601)。つぎに、サーバは、パターンテーブル61を参照し、クライアントが使用していたパターン数およびパターン番号を特定する(ステップS602)。その後、サーバは、新規のパターンを作成し(ステップS603)、新規パターンテーブルをクライアントの既存のパターンで暗号化して送信する(ステップS604)。
【0065】
クライアントは、このデータを受信し、復号化して新規のパターンテーブルを取り出す(ステップS502)。その後、クライアントは、必要な全てのデータを受信したか否かを判定する(ステップS504)。全てのデータを受信していれば(ステップS504,Yes)、クライアントは、受信したデータ同一内容のデータをサーバに送信する(ステップS506)。一方、全てのデータを受信していなければ(ステップS504,No)、クライアントは、自局の既存のパターンで現在のパターンテーブルを暗号化してサーバ1に送信する(ステップS505)。
【0066】
サーバは、クライアントが送信したデータを受信する(ステップS605)。この受信したデータが送信したデータと同一であるならば(ステップS606,Yes)、サーバは、パターンテーブルを更新し(ステップS608)、更新成功をクライアントに通知する(ステップS609)。また、受信したデータが送信したデータと異なる場合(ステップS606,No)、サーバは、更新失敗をクライアントに通知して(ステップS607)、処理を終了する。
【0067】
一方、クライアントは、更新結果を受信し(ステップS507)、更新か成功していたならば(ステップS508,Yes)。パターンテーブルの更新を実行する(ステップS509)。このパターンテーブルの更新終了後、もしくは更新が失敗した場合(ステップS508,No)、クライアントは処理を終了する。
【0068】
さらに、パターンテーブルの更新が失敗した場合には、パターンテーブルの復元を行い、既存のパターンテーブルによる暗号通信を確保することが望ましい。第14図は、サーバにおけるパターンテーブルの復元処理の一例を示す図である。同図に示すように、サーバは、クライアントからパターンテーブルの復元要求を受信したならば(ステップS701)、受信したデータにパターン番号が付加されているか否かを判定する(ステップS702)。
【0069】
受信したデータにパターン番号が付加されているならば(ステップS702,Yes)、サーバは、受信したデータからパターン番号を取得する(ステップS703)。また、サーバは、IPアドレスなどに基づいてクライアントを特定するとともに、パターンテーブルからパターン番号を特定する(ステップS704)。その後、サーバは、受信したパターン番号と、パターンテーブルから読み出したパターン番号とを比較し(ステップS705)、パターン番号が一致したならば(ステップS706,Yes)、パターンテーブルの更新成功をクライアントに通知して処理を終了する。
【0070】
一方、パターン番号が一致しないならば(ステップS705,No)、サーバは、旧いパターンテーブルからパターン番号を読み出し(ステップS707)、データに付加されていたパターン番号と比較する(ステップS708)。データに付加されていたパターン番号が旧いパターン番号と一致したならば(ステップS708,Yes)、サーバは、パターンテーブルを復元し(ステップS716)、パターンテーブルの復元完了をクライアントに通知して(ステップS717)、処理を終了する。また、データに付加されていたパターン番号が旧いパターン番号と一致しないならば(ステップS708,No)、サーバはクライアントにエラーメッセージを通知し(ステップS709)、処理を終了する。
【0071】
なお、受信したデータにパターン番号が付加されていないならば(ステップS702,No)、サーバは、受信したデータのIPアドレスなどを用いてクライアントを特定し(ステップS710)、パターンテーブルからパターン番号を取得する(ステップS712)。つづいて、サーバは、取得したパターン番号に対応する秘密鍵で受信したデータの復号をおこない、復号が成功したならば(ステップS713,Yes)、パターンテーブルの更新成功をクライアントに通知して処理を終了する(ステップS718)。
【0072】
一方、復号に失敗したならば(ステップS713,No)、サーバは、旧いパターンテーブルからパターン番号を取得し(ステップS714)、復号を実行する(ステップS715)。旧いパターン番号を用いた復号に成功したならば(ステップS715,Yes)、サーバはパターンテーブルを復元し(ステップS716)、パターンテーブルの復元完了をクライアントに通知して(ステップS717)、処理を終了する。また、旧いパターン番号を用いた復号に失敗したならば(ステップS715,No)、サーバは、クライアントにエラーメッセージを通知して(ステップS709)処理を終了する。
【0073】
このように、クライアントからの更新要求に基づいて、クライアントとサーバの間で共有するパターンテーブルを更新することにより、必要に応じて使用するパターンテーブルを変更し、通信の安全性を向上することができる。
【0074】
なお、パターンテーブルの更新は、実施の形態2に限らず、実施の形態1に示した暗号通信システムにおいても有効であることはいうまでもない。
【0075】
また、実施の形態1および実施の形態2では、RSA暗号を利用する場合について説明したが、本発明の利用はこれに限定されるものではなく、任意の暗号方式を用いて実施することが可能である。
【産業上の利用可能性】
【0076】
以上のように、本発明にかかる暗号化装置、暗号化方法、および暗号化プログラムは、暗号通信における通信の安全性向上および処理負荷軽減に対して有用である。
【図面の簡単な説明】
【図1】
第1図は、本発明における暗号通信の概念を説明する説明図である。
【図2】
第2図は、本発明の実施の形態1における暗号通信システムの概要構成を説明する概要構成図である。
【図3】
第3図は、パターンテーブルの具体例について説明する説明図である。
【図4】
第4図は、クライアントの処理動作を説明するフローチャートである。
【図5】
第5図は、サーバ2の処理動作を説明するフローチャートである。
【図6】
第6図は、文字列を暗号化して通信する場合におけるパターンテーブルについて説明する図である。
【図7】
第7図は、文字列の暗号化の具体例を示す図である。
【図8】
第8図は、本発明の実施の形態2にかかる暗号通信システムの概要構成を説明する概要構成図である。
【図9】
第9図は、クライアント50の処理動作を説明するフローチャートである。
【図10】
第10図は、サーバ60の処理動作を説明するフローチャートである。
【図11】
第11図は、クライアントとパターンとの対応関係を説明する説明図である。
【図12】
第12図は、クライアント認証キー、パターン番号、公開鍵および秘密鍵の対応を説明する図である。
【図13】
第13図は、パターンの更新方法の一例を説明する図である。
【図14】
第14図は、サーバにおけるパターンテーブルの復元処理の一例を示す図である。

Claims (15)

  1. データを暗号化して送信する暗号化装置であって、
    自局に固有に割り当てられた暗号方式を記憶する記憶手段と、
    前記記憶手段が記憶した暗号方式を用いて前記データを暗号化し、暗号文を作成する暗号文作成手段と、
    を備えたことを特徴とする暗号化装置。
  2. 前記暗号文作成手段が用いた暗号方式を指定するパターン情報を前記暗号文に付加するパターン情報付加手段をさらに備え、前記記憶手段は、複数の暗号方式を記憶し、前記暗号文作成手段は、該複数の暗号方式から前記データの暗号化に使用する暗号方式を選択することを特徴とする請求の範囲第1項に記載の暗号化装置。
  3. 前記暗号方式は公開鍵暗号に用いる公開鍵であり、前記暗号文作成手段は、該公開鍵を用いて前記データを暗号化することを特徴とする請求の範囲第1項または第2項に記載の暗号化装置。
  4. 暗号文を受信して元のデータに復号する復号化装置であって、
    該受信した暗号文から、暗号化に用いられた暗号方式を特定する暗号方式特定手段と、
    前記暗号方式特定手段によって特定した暗号方式を用いて前記暗号文を復号する復号手段と、
    を備えたことを特徴とする復号化装置。
  5. 前記暗号方式は公開鍵暗号に用いる公開鍵と秘密鍵との組み合わせであり、前記復号手段は、前記暗号方式特定手段が特定した公開鍵暗号に対応する秘密鍵を用いて前記データを復号することを特徴とする請求の範囲第4項に記載の復号化装置。
  6. データを暗号化して送信する暗号化方法であって、
    自局に固有に割り当てられた暗号方式を記憶する記憶工程と、
    前記記憶工程によって記憶した暗号方式を用いて前記データを暗号化し、暗号文を作成する暗号文作成工程と、
    を含んだことを特徴とする暗号化方法。
  7. 前記暗号文作成工程が用いた暗号方式を指定するパターン情報を前記暗号文に付加するパターン情報付加工程をさらに含み、前記記憶工程は、複数の暗号方式を記憶し、前記暗号文作成工程は、該複数の暗号方式から前記データの暗号化に使用する暗号方式を選択することを特徴とする請求の範囲第6項に記載の暗号化方法。
  8. 前記暗号方式は公開鍵暗号に用いる公開鍵であり、前記暗号文作成工程は、該公開鍵を用いて前記データを暗号化することを特徴とする請求の範囲第6項または第7項に記載の暗号化方法。
  9. 暗号文を受信して元のデータに復号する復号化方法であって、
    該受信した暗号文から、暗号化に用いられた暗号方式を特定する暗号方式特定工程と、
    前記暗号方式特定工程によって特定した暗号方式を用いて前記暗号文を復号する復号工程と、
    を含んだことを特徴とする復号化方法。
  10. 前記暗号方式は公開鍵暗号に用いる公開鍵と秘密鍵との組み合わせであり、前記復号工程は、前記暗号方式特定工程が特定した公開鍵暗号に対応する秘密鍵を用いて前記データを復号することを特徴とする請求の範囲第9項に記載の復号化方法。
  11. データを暗号化して送信する暗号化方法をコンピュータに実行させる暗号化プログラムであって、
    自局に固有に割り当てられた暗号方式を記憶する記憶手順と、
    前記記憶手順によって記憶した暗号方式を用いて前記データを暗号化し、暗号文を作成する暗号文作成手順と、
    をコンピュータに実行させることを特徴とする暗号化プログラム。
  12. 前記暗号文作成手順が用いた暗号方式を指定するパターン情報を前記暗号文に付加するパターン情報付加手順をさらに含み、前記記憶手順は、複数の暗号方式を記憶し、前記暗号文作成手順は、該複数の暗号方式から前記データの暗号化に使用する暗号方式を選択することを特徴とする請求の範囲第11項に記載の暗号化プログラム。
  13. 前記暗号方式は公開鍵暗号に用いる公開鍵であり、前記暗号文作成手順は、該公開鍵を用いて前記データを暗号化することを特徴とする請求の範囲第11項または第12項に記載の暗号化プログラム。
  14. 暗号文を受信して元のデータに復号する復号化方法をコンピュータに実行させる復号化プログラムであって、
    該受信した暗号文から、暗号化に用いられた暗号方式を特定する暗号方式特定手順と、
    前記暗号方式特定手順によって特定した暗号方式を用いて前記暗号文を復号する復号手順と、
    をコンピュータに実行させることを特徴とする復号化プログラム。
  15. 前記暗号方式は公開鍵暗号に用いる公開鍵と秘密鍵との組み合わせであり、前記復号手順は、前記暗号方式特定手順が特定した公開鍵暗号に対応する秘密鍵を用いて前記データを復号することを特徴とする請求の範囲第14項に記載の復号化プログラム。
JP2004572087A 2003-05-19 2003-05-19 暗号化装置、暗号化方法および暗号化プログラム Withdrawn JPWO2004105310A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/006228 WO2004105310A1 (ja) 2003-05-19 2003-05-19 暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラムおよび復号化プログラム

Publications (1)

Publication Number Publication Date
JPWO2004105310A1 true JPWO2004105310A1 (ja) 2006-07-20

Family

ID=33463122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004572087A Withdrawn JPWO2004105310A1 (ja) 2003-05-19 2003-05-19 暗号化装置、暗号化方法および暗号化プログラム

Country Status (3)

Country Link
US (1) US20060136714A1 (ja)
JP (1) JPWO2004105310A1 (ja)
WO (1) WO2004105310A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7966513B2 (en) * 2006-02-03 2011-06-21 Emc Corporation Automatic classification of backup clients
CN104205904B (zh) * 2012-03-31 2019-05-03 英特尔公司 使用物理接近的安全通信
CN114631049A (zh) * 2019-10-17 2022-06-14 有线电视实验室公司 无源光网络中的量子密钥分发和管理
CN114095192A (zh) * 2020-08-03 2022-02-25 华为技术有限公司 数据云服务方法及通信装置
CN113158214A (zh) * 2021-04-30 2021-07-23 中国银行股份有限公司 一种加密智能识别方法及装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5272755A (en) * 1991-06-28 1993-12-21 Matsushita Electric Industrial Co., Ltd. Public key cryptosystem with an elliptic curve
JPH0637750A (ja) * 1992-07-20 1994-02-10 Hitachi Ltd 情報転送方式
JPH0646052A (ja) * 1992-07-27 1994-02-18 Nec Corp 高速トランスポートメカニズムにおける暗号化方式
JPH07162407A (ja) * 1993-12-03 1995-06-23 Fujitsu Ltd ネットワークシステムにおける暗号通信のユーザ支援装置
US6922775B2 (en) * 1993-12-03 2005-07-26 Fujitsu Limited User support system for cryptographic communication in network systems
JP3747520B2 (ja) * 1996-01-30 2006-02-22 富士ゼロックス株式会社 情報処理装置及び情報処理方法
US6072876A (en) * 1996-07-26 2000-06-06 Nippon Telegraph And Telephone Corporation Method and system for depositing private key used in RSA cryptosystem
JP2000358022A (ja) * 1999-06-15 2000-12-26 Mitsubishi Electric Corp 暗号通信システム、暗号鍵決定方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP3718382B2 (ja) * 1999-08-27 2005-11-24 株式会社日立製作所 記憶媒体への書き込み情報の管理方法および管理システム
JP2001211153A (ja) * 2000-01-25 2001-08-03 Murata Mach Ltd 秘密鍵生成方法
US7143289B2 (en) * 2000-10-30 2006-11-28 Geocodex Llc System and method for delivering encrypted information in a communication network using location identity and key tables
US7069435B2 (en) * 2000-12-19 2006-06-27 Tricipher, Inc. System and method for authentication in a crypto-system utilizing symmetric and asymmetric crypto-keys
US7254232B2 (en) * 2001-02-14 2007-08-07 Copytele, Inc. Method and system for selecting encryption keys from a plurality of encryption keys
US7085376B2 (en) * 2001-02-14 2006-08-01 Copytele, Inc. Method and system for securely exchanging encryption key determination information
US7023998B2 (en) * 2001-03-30 2006-04-04 Lucent Technologies Inc. Cryptographic key processing and storage
US7028098B2 (en) * 2001-07-20 2006-04-11 Nokia, Inc. Selective routing of data flows using a TCAM
US20030068047A1 (en) * 2001-09-28 2003-04-10 Lee David A. One-way broadcast key distribution
US7366893B2 (en) * 2002-08-07 2008-04-29 Intelliden, Inc. Method and apparatus for protecting a network from attack
US8352726B2 (en) * 2003-11-07 2013-01-08 Netapp, Inc. Data storage and/or retrieval

Also Published As

Publication number Publication date
WO2004105310A1 (ja) 2004-12-02
US20060136714A1 (en) 2006-06-22

Similar Documents

Publication Publication Date Title
CN111740828B (zh) 一种密钥生成方法以及装置、设备、加解密方法
US8249255B2 (en) System and method for securing communications between devices
JP4734344B2 (ja) 他と共有されないジョイント乱数性(jrnso)を用いて暗号鍵を導出する方法とシステム
US20080031458A1 (en) System, methods, and apparatus for simplified encryption
US20060083370A1 (en) RSA with personalized secret
US20110194686A1 (en) Method of encrypting and transmitting data and system for transmitting encrypted data
JP2004266342A (ja) 無線アドホック通信システム、端末、その端末における復号方法、暗号化方法及びブロードキャスト暗号鍵配布方法並びにそれらの方法を端末に実行させるためのプログラム
JP2016116134A (ja) 署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法
JPH0918469A (ja) 暗号通信装置、システム及び暗号装置
EP4300874A1 (en) Secure file sharing method and system based on domestic cryptographic algorithm
GB2589390A (en) Methods of generating a key and a communication method
US20060136714A1 (en) Method and apparatus for encryption and decryption, and computer product
KR20060014441A (ko) 암호화 통신 시스템
KR20070096073A (ko) 제 3의 신뢰기관의 도움 없이 공개키에 대한 상호 인증 및키 교환 방법 및 그 장치
CN107846422A (zh) 一种网关的配置文件加密压缩和解密解压缩的方法
KR100551992B1 (ko) 어플리케이션 데이터의 암호화 및 복호화 방법
TWI761243B (zh) 群組即時通訊的加密系統和加密方法
CN109981294A (zh) 电子通信方法和系统
JP5361970B2 (ja) 通信システム、第一通信装置、第二通信装置、暗号化通信方法及びプログラム
JP3895245B2 (ja) 鍵の更新が可能な利用者の識別情報に基づく暗号化方法及び暗号システム
JP2005176144A (ja) 端末装置、通信システム及び通信方法
JP4664692B2 (ja) 暗号化方法、復号方法、暗号化装置、復号装置、暗号装置、およびプログラム
JP2008177815A (ja) ブロードキャスト暗号方式およびブロードキャスト暗号装置
US7526643B2 (en) System for transmitting encrypted data
CN111865578A (zh) 一种基于sm2的多接收方公钥加密方法

Legal Events

Date Code Title Description
A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090202