JP4802123B2 - 情報送信装置、情報送信方法、情報送信プログラムおよび該プログラムを記録した記録媒体 - Google Patents

情報送信装置、情報送信方法、情報送信プログラムおよび該プログラムを記録した記録媒体 Download PDF

Info

Publication number
JP4802123B2
JP4802123B2 JP2007057221A JP2007057221A JP4802123B2 JP 4802123 B2 JP4802123 B2 JP 4802123B2 JP 2007057221 A JP2007057221 A JP 2007057221A JP 2007057221 A JP2007057221 A JP 2007057221A JP 4802123 B2 JP4802123 B2 JP 4802123B2
Authority
JP
Japan
Prior art keywords
transmission
data
data size
size
content
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.)
Expired - Fee Related
Application number
JP2007057221A
Other languages
English (en)
Other versions
JP2008219746A (ja
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
Priority to JP2007057221A priority Critical patent/JP4802123B2/ja
Priority to US12/073,715 priority patent/US8571206B2/en
Publication of JP2008219746A publication Critical patent/JP2008219746A/ja
Application granted granted Critical
Publication of JP4802123B2 publication Critical patent/JP4802123B2/ja
Expired - Fee Related 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/20Manipulating the length of blocks of bits, e.g. padding or block truncation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Description

この発明は、暗号を用いたSSL(Secure Socket Layer)やTLS(Transport Layer Security)などの情報通信規格にしたがって情報通信をおこなう情報送信装置、情報送信方法、情報送信プログラムおよび該プログラムを記録した記録媒体に関する。
従来より、インターネットなどのネットワーク上で、プライバシーに関わる情報や企業秘密などの情報を安全に送受信するため、暗号化をおこなって送受信するSSLやTLSなどのプロトコルが用いられている。
近年では、SSLを用いた通信におけるTCP(Transmission Contorol Protocol)パケットから暗号化データへの組み立てに伴う遅延を低減させるため、受信復号時には分割されて送られてくるパケットを順次復号する。さらに、暗号化送信時にはアプリケーション層のデータをブロック暗号化後の一つのTCPパケットで転送できるよう分割する提案がされている(たとえば、下記特許文献1参照。)。
ところで、SSLやTLSなどのプロトコルを用いてコンテンツの送受信をおこなう場合、通常、下記(1)〜(4)に示すような手順によってコンテンツを加工して生成された送信データを、送信先のサーバやクライアントに送信する。
(1)MAC(Massage Authentication Code)の生成。
(2)必要に応じて、パディング処理。
(3)コンテンツ、MAC、パディングデータを含む送信データの暗号化。
(4)送信データのヘッダ部分の生成。
具体的に、図8を用いて、従来におけるコンテンツを加工して生成される送信データについて説明する。図8は、従来における送信データの生成の一例を示す説明図である。図8において、送信データは、コンテンツ801と、MAC802と、パディングデータ803と、から構成されており、送信バッファ820に保持されている。
コンテンツ801は、送信する対象となるコンテンツのデータである。また、MAC802は、送信データが改竄されていないこと、および、送信者が別人になりすましていないことを認証するために用いられる認証子であり、具体的には、たとえば、MAC生成アルゴリズムによって生成されるMAC値などである。パディングデータ803は、送信データを暗号化する際に、暗号化部分が所定の暗号化アルゴリズムにおける暗号化の単位ブロックサイズの倍数となるようにするためのデータである。
ヘッダ810は、送信バッファ820に一時的に保持された送信データの属性を示す情報が記載されており、たとえば、コンテンツ801の種別を示すtypeと、送受信に用いられるプロトコルのバージョンを示すversionと、送信データのサイズを示すlengthとから構成される。
このヘッダ810は、データの送受信の際に必要な情報であり、送信データのサイズを記載するために、MAC802の生成、パディング処理によるパディングデータ803の生成、送信データの暗号化の後に生成されることとなる。
特開2004−364022号公報
しかしながら、上述した従来技術では、送信データを送信する際、はじめに送信すべきヘッダを送信データの加工・生成の後に生成する構成であるため、ヘッダの生成が終了するまで送信データを保持可能な送信バッファが必要であった。すなわち、MACやパディングデータなどのデータサイズに応じて様々なデータサイズとなる送信データに対応するため、規格で定められた最大サイズ(たとえば、約16kバイト)の送信バッファを準備しなければならない。
したがって、組み込み用途のメモリ領域を用いて送信バッファを準備する場合、メモリ領域の最小サイズに制限があると、送信バッファによってメモリ領域が圧迫されてしまうこととなる。特に、送信データのデータサイズが小さく、小さなサイズの送信バッファで送信データを保持できる場合、送信バッファに使用しない領域であってもメモリ領域に送信バッファとして確保しておくため、メモリの利用が非効率的であるという問題があった。
一方、小さなサイズの送信バッファを準備する場合、送信バッファよりも大きなサイズの送信データを送信できなくなってしまうという問題があった。
この発明は、上述した従来技術による問題点を解消するため、送信データのデータサイズを算出してヘッダを生成することで、メモリの利用の効率化を図ることができる情報送信装置、情報送信方法、情報送信プログラムおよび該プログラムを記録した記録媒体を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この発明にかかる情報送信装置、情報送信方法、情報送信プログラムおよび該プログラムを記録した記録媒体は、送信指示を受け付けたコンテンツと、当該コンテンツが改竄されていないこと、および、送信者が別人になりすましていないことを認証するための認証コードと、パディングデータと、を含む送信データを、所定の暗号化アルゴリズムによって暗号化して、送信先へ送信する情報送信装置、情報送信方法、情報送信プログラムおよび該プログラムを記録した記録媒体において、前記暗号化アルゴリズムと、前記認証コードおよび前記コンテンツのデータサイズとに基づいて、前記パディングデータのパディングデータサイズを算出し、算出されたパディングデータサイズと、前記認証コードおよび前記コンテンツのデータサイズとから、前記送信データの送信データサイズを算出し、算出された送信データサイズを用いて、前記送信データの種別と当該送信データサイズとを含むヘッダを生成し、前記送信データを暗号化し、生成されたヘッダと、暗号化された送信データとを前記送信先へ送信することを特徴とする。
この発明によれば、暗号化アルゴリズムと、認証コードおよびコンテンツのデータサイズから算出されるパディングデータサイズおよび送信データサイズによってヘッダを生成することで、ヘッダと暗号化された送信データを適切に送信先へ送信することができる。
また、上記発明において、前記送信データを一時的に保持する送信バッファのメモリサイズよりも小さくなるように、当該送信データを分割して、前記暗号化アルゴリズムにより順次暗号化して、前記送信先へ順次送信することとしてもよい。このときの分割するデータのサイズは、前記暗号化アルゴリズムにおける暗号化の単位ブロックサイズの倍数となるようにする。最後のブロックデータのサイズは、暗号化の単位ブロックサイズに満たなくてもよい。
この発明によれば、送信データから分割された複数のブロックデータおよび最終ブロックデータを順次暗号化して順次送信するため、送信バッファを効率的に利用して、送信データを送信することができる。
また、上記発明において、前記ヘッダを送信した後に、前記ブロックデータおよび前記最終ブロックデータを送信することとしてもよい。
この発明によれば、ヘッダを送信してから送信バッファを利用して、送信データを送信することができる。
また、上記発明において、前記認証コードおよび前記コンテンツのデータサイズを、前記暗号化アルゴリズムにおける暗号化の単位ブロックサイズで除算することで、当該認証コードおよび当該コンテンツのデータサイズと、前記パディングデータサイズとの合計が当該単位ブロックサイズの整数倍になるように当該パディングデータサイズを算出することとしてもよい。
この発明によれば、認証コードおよびコンテンツのデータサイズと、暗号化の単位ブロックサイズとを用いて、適切にパディングデータサイズを算出することができる。
また、上記発明において、前記認証コードのデータサイズは、当該認証コードを生成するMAC生成アルゴリズムに応じて特定されることとしてもよい。
この発明によれば、認証コードを生成するMAC生成アルゴリズムによって、認証コードのデータサイズを簡易に特定することができる。
本発明にかかる情報送信装置、情報送信方法、情報送信プログラムおよび該プログラムを記録した記録媒体によれば、送信データのデータサイズを算出してヘッダを生成することで、メモリの利用の効率化を図ることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる情報送信装置、情報送信方法、情報送信プログラムおよび該プログラムを記録した記録媒体の好適な実施の形態を詳細に説明する。
(実施の形態1)
(情報送信装置のハードウェア構成)
まず、図1を用いて、この発明の実施の形態1にかかる情報送信装置のハードウェア構成について説明する。図1は、この発明の実施の形態1にかかる情報送信装置のハードウェア構成を示す説明図である。
図1において、情報送信装置100は、コンピュータ本体110と、入力装置120と、出力装置130と、から構成されており、不図示のルータやモデムを介してLAN,WANやインターネットなどのネットワーク140に接続可能である。
コンピュータ本体110は、CPU,メモリ,インターフェースを有する。CPUは、情報送信装置100の全体の制御を司る。メモリは、ROM,RAM,HD,光ディスク111,フラッシュメモリから構成される。メモリはCPUのワークエリアとして使用される。
また、メモリには各種プログラムが格納されており、CPUからの命令に応じてロードされる。HDおよび光ディスク111はディスクドライブによりデータのリード/ライトが制御される。また、光ディスク111およびフラッシュメモリはコンピュータ本体110に対し着脱自在である。インターフェースは、入力装置120からの入力、出力装置130への出力、ネットワーク140に対する送受信の制御をおこなう。
また、入力装置120としては、キーボード121、マウス122、スキャナ123などがある。キーボード121は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式であってもよい。マウス122は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。スキャナ123は、画像を光学的に読み取る。読み取られた画像は画像データとして取り込まれ、コンピュータ本体110内のメモリに格納される。なお、スキャナ123にOCR機能を持たせてもよい。
また、出力装置130としては、ディスプレイ131、スピーカ132、プリンタ133、などがある。ディスプレイ131は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。また、スピーカ132は、効果音や読み上げ音などの音声を出力する。また、プリンタ133は、画像データや文書データを印刷する。
(情報送信装置100の機能的構成)
つぎに、図2を用いて、この発明の実施の形態1にかかる情報送信装置100の機能的構成について説明する。図2は、この発明の実施の形態1にかかる情報送信装置の機能的構成を示すブロック図である。
図2において、送信指示を受け付けたコンテンツと、当該コンテンツが改竄されていないこと、および、送信者が別人になりすましていないことを認証するための認証コードと、パディングデータと、を含む送信データを、所定の暗号化アルゴリズムによって暗号化して、送信先へ送信する情報送信装置100は、パディングデータサイズ算出部201と、送信データサイズ算出部202と、生成部203と、暗号化部204と、送信部205と、から構成されている。
これら各機能201〜205は、メモリに格納された当該機能に関するプログラムをCPUに実行させることにより、当該機能を実現することができる。また、各機能201〜205からの出力データはメモリに保持される。また、図2中矢印で示した接続先の機能的構成は、接続元の機能からの出力データをメモリから読み込んで、当該機能に関するプログラムをCPUに実行させる。
ここで、コンテンツは、たとえば、図1に示したHDおよび光ディスク111に記録されていたり、ネットワーク140を介して取得する構成でもよい。また、送信データの送信は、たとえば、図1に示した入力装置120や送信先からコンテンツの送信指示を受け付けた場合におこなう構成である。
暗号化アルゴリズムは、たとえば、AES(Advanced Encryption Atandard)などである。そして、CPUによって、暗号化アルゴリズムに応じて、暗号化の単位ブロックサイズごとに送信データの暗号化処理をおこなう。より具体的には、たとえば、送信データの暗号化処理は、CPUによって、ROMやRAMなどに設定されているAESを用いて、メモリをワークエリアとしておこなう。
認証コードは、たとえば、暗号化された送信データの送信先の機器でコンテンツが改竄されていないこと、および、送信者が別人になりすましていないことを認証するためのMACである。具体的には、たとえば、MACは、CPUによって、MAC生成アルゴリズムを用いて生成される。より具体的には、たとえば、MACの生成は、CPUによって、ROMやRAMなどに設定されているMAC生成アルゴリズム(たとえば、HMAC−SHA−1や、HMAC−MD5)を用いておこなう。
なお、MACのデータサイズは、たとえば、MACを生成するMAC生成アルゴリズムによって特定され、具体的には、HMAC−SHA−1を用いる場合は、20バイト、HMAC−MD5を用いる場合は16バイトである。
パディングデータは、たとえば、送信データを暗号化する際に、暗号化部分が暗号化の単位ブロックサイズの倍数となるようにパディングするデータである。
パディングデータサイズ算出部201は、暗号化アルゴリズムと、認証コードおよびコンテンツのデータサイズとに基づいて、パディングデータのパディングデータサイズを算出する。
詳細は図3および図4を用いて説明するが、パディングデータサイズ算出部201は、たとえば、MACおよびコンテンツのデータサイズを、暗号化アルゴリズムにおける暗号化の単位ブロックサイズで除算する。そして、MACおよびコンテンツのデータサイズと、パディングデータサイズとの合計が単位ブロックサイズの整数倍になるようにパディングデータサイズを算出する。
具体的には、たとえば、パディングデータサイズ算出部201は、CPUによって、図1に示した入力装置120によって送信先への送信指示を受け付けたコンテンツについて、パディングデータサイズを算出してメモリに保持する。
送信データサイズ算出部202は、パディングデータサイズ算出部201によって算出されたパディングデータサイズと、MACおよびコンテンツのデータサイズとから、送信データの送信データサイズを算出する。
具体的には、たとえば、送信データサイズ算出部202は、CPUによって、MACを生成するMAC生成アルゴリズムによって特定されるMACのデータサイズと、送信指示を受け付けたコンテンツのデータサイズと、メモリに保持されたパディングデータサイズとから送信データサイズを算出してメモリに保持する。
生成部203は、送信データサイズ算出部202によって算出された送信データサイズを用いて、送信データの種別と送信データサイズとを含むヘッダを生成する。具体的には、たとえば、生成部203は、CPUによって、送信指示を受け付けたコンテンツの種別、メモリに保持された送信データサイズを含むヘッダを生成してメモリに保持する。すなわち、すべての送信データを送信バッファに保持しなくても、送信データサイズを的確に予測してヘッダを生成することができる。
暗号化部204は、送信データを暗号化する。具体的には、たとえば、暗号化部204は、送信データを一時的に保持する送信バッファのメモリサイズよりも小さくなるように、送信データを分割する。このときの分割するデータのサイズは、暗号化アルゴリズムにおける暗号化の単位ブロックサイズとなるようにする。最後のブロックデータのサイズは、暗号化の単位ブロックサイズに満たなくてもよい。
詳細は図3および図7を用いて説明するが、送信バッファは、たとえば、メモリに設定されており、暗号化部204は、分割された送信データを、順次暗号化する。また、暗号化部204は、MACとパディングデータを暗号化する。
より具体的には、たとえば、暗号化部204は、CPUによって、送信指示を受け付けたコンテンツを取得して、送信バッファに単位ブロックサイズごとのブロックデータに分割して保持し、順次暗号化する。つぎに、暗号化部204は、CPUによって、暗号化の単位ブロックサイズに満たない最後のブロックデータの後ろに、MAC生成アルゴリズムを用いてMACを生成して、送信バッファに保持し、暗号化する。また、暗号化部204は、CPUによって、パディングデータを生成して、送信バッファに保持し、暗号化する。
送信部205は、生成部203によって生成されたヘッダと、暗号化部204によって暗号化された送信データとを送信先へ送信する。具体的には、たとえば、送信部205は、暗号化部204によって順次暗号化されたブロックデータおよび最終ブロックデータを送信先へ順次送信する。つぎに、暗号化部204によって生成され、順次暗号化されたMACとパディングデータを送信先へ順次送信する。また、送信部205は、ヘッダを送信した後に、ブロックデータおよび最終ブロックデータを送信することとしてもよい。
より具体的には、たとえば、送信部205は、CPUによって、送信バッファに保持された送信データを送信先へ順次送信する構成である。このように、送信データの送信以前に送信データのヘッダを送信して、送信データを順次暗号化および送信する構成とすることで、すべての送信データを送信バッファに保持しなくてもよく、送信バッファのサイズを削減することができる。
(送信データの概要)
つぎに、図3を用いて、この発明の実施の形態1にかかる送信データの概要について説明する。図3は、この発明の実施の形態1にかかる送信データの概要を示す説明図である。
図3において、送信データ300は、コンテンツ301と、MAC302と、パディングデータ303と、から構成されており、送信バッファ320(320a,320b,320c)に保持される。また、ヘッダ310は、送信データ300の属性を示す情報が記載されており、たとえば、コンテンツ301の種別を示すtypeと、送受信に用いられるプロトコルのバージョンを示すversionと、送信データ300の送信データサイズを示すlengthとから構成されている。
コンテンツ301は、送信先に送信する対象となる送信対象コンテンツのデータである。具体的には、たとえば、コンテンツ301は、図1に示したHDおよび光ディスク111に記録されている構成でもよいし、ネットワーク140を介して取得する構成でもよい。また、送信データ300の送信は、たとえば、図1に示した入力装置120や送信先からコンテンツの送信指示を受け付けた場合におこなうこととしてもよい。
MAC302は、送信データ300を送信先でコンテンツが改竄されていないこと、および、送信者が別人になりすましていないことを認証するために用いられる認証子であり、所定のMAC生成アルゴリズムによって生成されるMAC値などである。MAC302のデータサイズは、たとえば、MAC302を生成するMAC生成アルゴリズムによって特定され、具体的には、HMAC−SHA−1を用いる場合は、20バイト、HMAC−MD5を用いる場合は16バイトである。
パディングデータ303は、送信データ300を暗号化する際に、暗号化部分が所定の暗号化アルゴリズムにおける暗号化の単位ブロックサイズの倍数となるようにするためのデータである。換言すれば、パディングデータ303は、たとえば、MACおよびコンテンツのデータサイズと、パディングデータサイズとの合計が単位ブロックサイズの整数倍となるデータである。
送信バッファ320は、保持される送信データ300を複数回に分けて送信先へ送信する。具体的には、たとえば、情報送信装置100は、暗号化の単位ブロックサイズの倍数分の送信データ300を、送信バッファ320へ可能な限りコピーして、暗号化処理と送信を順次繰り返すこととなる。そして、最終段階では、暗号化の単位ブロックサイズに満たないコンテンツ301と、MAC302と、パディングデータ303とを送信バッファ320にコピーして送信することとなる。
処理の詳細は図5および図6を用いて説明するが、より具体的には、たとえば、送信データ300の送信は、コンテンツ301の一部を送信バッファ320aにコピー、暗号化処理をおこなって送信先へ送信し、さらに、コンテンツ301の一部を送信バッファ320bにコピー、暗号化処理をおこなって送信先へ送信する。そして、最終段階では、コンテンツ301の残りの一部と、MAC302と、パディングデータ303とを送信バッファ320cにコピー、暗号化処理をおこなって送信先へ送信する。
このようにすることで、送信バッファ320は、従来よりも小さなサイズとすることができ、メモリの利用の効率化を図ることができる。具体的には、たとえば、送信バッファ320のサイズは、AESによって暗号化される単位ブロックサイズを16バイト、HMAC−SHA−1を用いて生成されるMAC302のデータサイズを20バイトとした場合、送信バッファ320の最小サイズは48バイトでよい。
より具体的には、たとえば、送信バッファ320の最小サイズは、単位ブロックサイズ(16バイト)とMAC302のデータサイズ(20バイト)の合計値(36バイト)よりも大きく、かつ、単位ブロックサイズで割りきれる最小の値である48バイトとなる。なお、パディングデータサイズは、255バイトを上限として任意に選択可能であり、実施の形態1では1〜16バイトを用いる構成である。
ここで、図4を用いて、この発明の実施の形態1にかかる送信データ300の送信データサイズの算出の概要について説明する。図4は、この発明の実施の形態1にかかる送信データサイズの算出の概要を示す説明図である。
図4において、送信データ300の送信データサイズLrは、コンテンツ301のデータサイズLcと、MAC302のデータサイズLmと、パディングデータ303のパディングデータサイズLpの合計であり、つぎの(式1)で示すことができる。
Lr=(Lc+Lm)+Lp (式1)
パディングデータサイズLpは、送信データ300が単位ブロックサイズの整数倍となるようにするサイズである。単位ブロックサイズLblk、コンテンツ301のデータサイズLcと、MAC302のデータサイズLmとの合計を単位ブロックサイズLblkで割った余りをLmodとすると、最低限必要となるパディングデータサイズLpは、つぎの(式2)で示すことができる。
Lp=Lblk−Lmod
=Lblk−(Lc+Lm)modLblk (式2)
したがって、上述した(式1)および(式2)より、送信データ300の送信データサイズLrは、つぎの(式3)となる。
Lr=(Lc+Lm)+Lblk−(Lc+Lm)modLblk (式3)
より具体的には、データサイズLcが40バイトのコンテンツ301を、AESによって暗号化、HMAC−SHA−1によってMAC302を生成する場合、単位ブロックサイズLblkは16バイト、MAC302のデータサイズLmは20バイトとなり、(式3)より、送信データサイズLrは、64バイト(40+20+16−(40+20)mod16)となる。
また、データサイズLcが1000バイトのコンテンツ301を、DES(Data Encryption Standard)によって暗号化、HMAC−MD5によってMAC302を生成する場合、単位ブロックサイズLblkは8バイト、MAC302のデータサイズLmは16バイトとなり、(式3)より、送信データサイズLrは、1024バイト(1000+16+8−(1000+16)mod8)となる。
このように、暗号化に用いられる暗号化アルゴリズムと、MAC302の生成に用いられるHMAC生成アルゴリズムとから単位ブロックサイズLblkおよびMAC302のデータサイズLmを特定し、コンテンツ301のデータサイズLcを参照することで、パディングデータサイズLpおよび送信データサイズLrを算出することができる。
すなわち、送信バッファ320を用いて送信データ300を送信先へ送信する前に送信データサイズLrを的確に予測してヘッダを生成することができるため、無駄に大きなサイズとならないように送信バッファ320を適切なサイズに設定することで、メモリの効率的な利用を図ることができる。
なお、図3および図4の説明では、ヘッダと、送信データ300とを別個独立に送信することとして、ヘッダを送信してから送信データ300を送信バッファ320にあわせて順次送信する構成としたが、ヘッダも送信バッファ320へコピーして送信データ300とともに順次送信する構成としてもよい。その際、ヘッダの部分は暗号化せずに送信することとなる。
(情報送信装置100の処理の内容)
つぎに、図5および図6を用いて、この発明の実施の形態1にかかる情報送信装置100の処理の内容について説明する。図5は、この発明の実施の形態1にかかる情報送信装置の処理の内容を示すフローチャートである。図5のフローチャートにおいて、まず、入力装置120によって、コンテンツの送信指示を受け付けたか否かを判断する(ステップS501)。
ステップS501において、コンテンツの送信指示を受け付けるのを待って、受け付けた場合(ステップS501:Yes)は、CPUによって、ステップS501において受け付けた送信指示に応じたコンテンツの送信データについて、ヘッダ生成・送信処理をおこなう(ステップS502)。ヘッダ生成・送信処理は、たとえば、図3および図4に示した送信データ300について算出される送信データサイズLrを用いておこなうこととしてもよく、詳細は図6に後述する。
つぎに、CPUによって、未送信コンテンツのデータサイズが暗号化の単位ブロックサイズ以上か否かを判断する(ステップS503)。ステップS503において、未送信コンテンツのデータサイズが暗号化の単位ブロックサイズ以上であった場合(ステップS503:Yes)は、CPUによって、ステップS501において送信指示を受け付けたコンテンツのうち未送信部分の未送信コンテンツを、送信対象コンテンツと未送信コンテンツに分割する(ステップS504)。
具体的には、たとえば、未送信コンテンツの分割は、暗号化の単位ブロックサイズの倍数、かつ、送信バッファに格納可能なサイズの最大値となるような送信対象コンテンツと、残りのコンテンツ(未送信コンテンツ)とに分割する。
そして、CPUによって、ステップS504において分割された送信対象コンテンツを送信バッファにコピーして(ステップS505)、コピーされた送信対象コンテンツに対して順次暗号化処理をおこなう(ステップS506)。
また、ステップS503において、未送信コンテンツのデータサイズが暗号化の単位ブロックサイズ未満であった場合(ステップS503:No)は、未送信コンテンツを送信バッファにコピーして(ステップS509)、MAC、パディングデータを送信バッファに生成する(ステップS510)。そして、CPUによって、送信バッファに保持されている未送信コンテンツ、MAC、パディングデータに対して暗号化処理をおこなう(ステップS506)。
つづいて、インターフェースを介して、ステップS506において暗号化処理の施された送信データを送信する(ステップS507)。具体的には、たとえば、送信バッファに保持される送信データを、ステップS501において受け付けた送信指示に応じた送信先へ順次送信する。
そして、CPUによって、送信が終了したか否かを判断し(ステップS508)、終了していない場合(ステップS508:No)は、ステップS503へ戻って処理を繰り返す。具体的には、たとえば、送信の終了は、ステップS501において送信指示を受け付けたコンテンツに関する送信データをすべて送信したか否かを判断する。
また、ステップS508において、送信が終了した場合(ステップS508:Yes)は、そのまま一連の処理を終了する。
つぎに、図6を用いて、この発明の実施の形態1にかかる情報送信装置100における送信データのヘッダ生成・送信処理(図5のステップS502)手順について説明する。図6は、この発明の実施の形態1にかかる送信データのヘッダ生成・送信処理(図5のステップS502)手順を示すフローチャートである。
図6のフローチャートにおいて、まず、CPUによって、図5のステップS501において送信指示を受け付けたコンテンツのデータサイズを取得する(ステップS601)。コンテンツのデータサイズの取得は、たとえば、HDなどに記録されたコンテンツのデータサイズを読み出す。
つぎに、CPUによって、図5のステップS501において送信指示を受け付けたコンテンツのMACを生成するMAC生成アルゴリズムを取得する(ステップS602)。MAC生成アルゴリズムは、たとえば、MACを生成するMAC生成アルゴリズムの内部で用いられるハッシュ関数などを読み出すこととしてもよく、MAC生成アルゴリズムの内部で用いられるハッシュ関数によってMACのデータサイズを特定することができる。
つぎに、CPUによって、送信データを暗号化する暗号化アルゴリズムを取得する(ステップS603)。暗号化アルゴリズムは、たとえば、AESやDESなどであり、ROMなどにあらかじめ設定された情報を読み出す。
なお、図6のフローチャートでは、ステップS601〜ステップS603の順で説明したが、この順序に限ることはない。具体的には、たとえば、同時並行的におこなってもよいし、暗号化アルゴリズム、MAC生成アルゴリズム、コンテンツのデータサイズの順に取得してもよい。
つぎに、CPUによって、ステップS603において取得された暗号化アルゴリズムと、図5のステップS501において送信指示を受け付けたコンテンツと、MAC生成アルゴリズムと、から、パディングデータサイズを算出し(ステップS604)、送信データサイズを算出する(ステップS605)。
そして、CPUによって、ステップS604において算出された送信データサイズから、送信データのヘッダを生成する(ステップS606)。その後、インターフェースを介して、コンテンツの送信先に、ステップS607において生成されたヘッダを送信して(ステップS607)、図5におけるステップS502のヘッダ生成・送信処理を終了して、ステップS503へ移行する。
このように、この発明の実施の形態1によれば、送信データにおけるパディングデータの生成、MACの生成および暗号化処理をおこなう前にヘッダを生成して、送信データの送信をおこなうことができる。したがって、送信バッファなどのメモリを効率的に利用することができる。
具体的には、送信データの生成、暗号化および送信を、適切なサイズの送信バッファによって順次おこなうことで、メモリ利用の効率化を図ることができる。
(実施の形態2)
つぎに、この発明の実施の形態2について説明する。前述の実施の形態1では、送信対象コンテンツを順次送信バッファにコピーして、送信先へ送信した。そして、最終段階で、暗号化の単位ブロックサイズに満たない未送信コンテンツと、MACと、パディングデータとを送信バッファにコピーして、送信先へ送信することとして説明した。この発明の実施の形態2では、MACを送信バッファにコピーするのではなく、MAC用のバッファを設けて送信先へ送信する場合について説明する。
なお、この発明の実施の形態2にかかる情報送信装置のハードウェア構成については図1、機能的構成については図2とそれぞれほぼ同様であるため説明を省略する。ただし、暗号化アルゴリズムについては、暗号化の単位ブロックの倍数ではないデータも入力可能であることが求められる。
(送信データの概要)
図7を用いて、この発明の実施の形態2にかかる送信データの概要について説明する。図7は、この発明の実施の形態2にかかる送信データの概要を示す説明図である。
図7においてコンテンツ701を送信する場合、送信バッファ720(720a,720b,720c,720d)に分割して順次コピーする。具体的には、たとえば、情報送信装置100は、送信するコンテンツ701におけるD1の部分を送信バッファ720aにコピーして暗号化する。その後、インターフェースを介して、送信先へD1を送信する。
つぎに、コンテンツ701におけるD2の部分を送信バッファ720bにコピーして暗号化する。その後、インターフェースを介して、送信先へD2を送信する。
そして、コンテンツ701における残りのD3の部分を送信バッファ720cにコピーするとともに暗号化する。その後、インターフェースを介して送信先へD3を送信する。
さらに、コンテンツ701のMAC702をMAC用バッファ721に生成して、暗号化して、インターフェースを介して送信先へ送信する。なお、MAC702の生成は、D1、D2、D3を送信バッファ720のコピーごとに中間値を生成することとしてもよい。
つぎに、送信バッファ720dにパディングデータ703を生成し、暗号化する。その後、インターフェースを介して送信先へパディングデータ703を送信する。
このように、MAC用バッファ721を設けてMAC702を保持することとすれば、送信バッファ720のサイズは、最小で暗号化の単位ブロックサイズだけでよく、メモリの効率的な活用を実現できる。
なお、図7では説明を省略したが、ヘッダの生成は、コンテンツのデータサイズ、暗号化アルゴリズム、MAC生成アルゴリズムから算出される送信データのデータサイズを用いておこない、送信先に送信する構成である。具体的には、たとえば、パディングデータサイズは、MACおよびコンテンツのデータサイズを、暗号化の単位ブロックサイズで割った余りから算出でき、送信データサイズは、コンテンツのデータサイズと、パディングデータサイズと、MACのデータサイズから算出する構成である。
以上説明したように、この発明の実施の形態2によれば、MAC用バッファによって、送信バッファにMACを保持することなく送信データの送信ができるため、送信バッファのサイズの低減を図ることができる。
なお、本実施の形態で説明した情報送信方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
以上のように、本発明にかかる情報送信装置、情報送信方法、情報送信プログラムおよび該プログラムを記録した記録媒体は、所定の通信規格にしたがってコンテンツを送信する場合に有用であり、特に、メモリサイズに制限のある場合におけるコンテンツの送信に適している。
この発明の実施の形態1にかかる情報送信装置のハードウェア構成を示す説明図である。 この発明の実施の形態1にかかる情報送信装置の機能的構成を示すブロック図である。 この発明の実施の形態1にかかる送信データの概要を示す説明図である。 この発明の実施の形態1にかかる送信データサイズの算出の概要を示す説明図である。 この発明の実施の形態1にかかる情報送信装置の処理の内容を示すフローチャートである。 この発明の実施の形態1にかかる送信データのヘッダ生成・送信処理(図5のステップS502)手順を示すフローチャートである。 この発明の実施の形態2にかかる送信データの概要を示す説明図である。 従来における送信データの生成の一例を示す説明図である。
符号の説明
100 情報送信装置
110 コンピュータ本体
111 光ディスク
120 入力装置
121 キーボード
122 マウス
123 スキャナ
130 出力装置
131 ディスプレイ
132 スピーカ
133 プリンタ
140 ネットワーク
201 パディングデータサイズ算出部
202 送信データサイズ算出部
203 生成部
204 暗号化部
205 送信部

Claims (8)

  1. 送信指示を受け付けたコンテンツと、当該コンテンツが改竄されていないこと、および、送信者が別人になりすましていないことを認証するための認証コードと、パディングデータと、を含む送信データを、所定の暗号化アルゴリズムによって暗号化して、送信先へ送信する情報送信装置において、
    前記暗号化アルゴリズムと、前記認証コードおよび前記コンテンツのデータサイズとに基づいて、前記パディングデータのパディングデータサイズを算出するパディングデータサイズ算出手段と、
    前記パディングデータサイズ算出手段によって算出されたパディングデータサイズと、前記認証コードおよび前記コンテンツのデータサイズとから、前記送信データの送信データサイズを算出する送信データサイズ算出手段と、
    前記送信データサイズ算出手段によって算出された送信データサイズを用いて、前記送信データの種別と当該送信データサイズとを含むヘッダを生成する生成手段と、
    前記送信データを暗号化する暗号化手段と、
    前記生成手段によって生成されたヘッダと、前記暗号化手段によって暗号化された送信データとを前記送信先へ送信する送信手段と、
    を備えることを特徴とする情報送信装置。
  2. 前記暗号化手段は、
    前記送信データを一時的に保持する送信バッファのメモリサイズよりも小さな前記暗号化アルゴリズムにおける暗号化の単位ブロックサイズごとに当該送信データを分割して、当該単位ブロックサイズごとに分割された複数のブロックデータを順次暗号化し、当該単位ブロックサイズに満たない最後のブロックデータに前記パディングデータがパディングされた当該単位ブロックサイズの最終ブロックデータを暗号化し、
    前記送信手段は、
    前記暗号化手段によって順次暗号化されたブロックデータおよび最終ブロックデータを前記送信先へ順次送信することを特徴とする請求項1に記載の情報送信装置。
  3. 前記送信手段は、
    前記ヘッダを送信した後に、前記ブロックデータおよび前記最終ブロックデータを送信することを特徴とする請求項2に記載の情報送信装置。
  4. 前記パディングデータサイズ算出手段は、
    前記認証コードおよび前記コンテンツのデータサイズを、前記暗号化アルゴリズムにおける暗号化の単位ブロックサイズで除算することで、当該認証コードおよび当該コンテンツのデータサイズと、前記パディングデータサイズとの合計が当該単位ブロックサイズの整数倍になるように当該パディングデータサイズを算出することを特徴とする請求項1〜3のいずれか一つに記載の情報送信装置。
  5. 前記認証コードのデータサイズは、当該認証コードを生成するMAC生成アルゴリズムに応じて特定されることを特徴とする請求項1〜4のいずれか一つに記載の情報送信装置。
  6. 送信指示を受け付けたコンテンツと、当該コンテンツが改竄されていないこと、および、送信者が別人になりすましていないことを認証するための認証コードと、パディングデータと、を含む送信データを、所定の暗号化アルゴリズムによって暗号化して、送信先へ送信する情報送信方法において、
    前記暗号化アルゴリズムと、前記認証コードおよび前記コンテンツのデータサイズとに基づいて、前記パディングデータのパディングデータサイズを算出するパディングデータサイズ算出工程と、
    前記パディングデータサイズ算出工程によって算出されたパディングデータサイズと、前記認証コードおよび前記コンテンツのデータサイズとから、前記送信データの送信データサイズを算出する送信データサイズ算出工程と、
    前記送信データサイズ算出工程によって算出された送信データサイズを用いて、前記送信データの種別と当該送信データサイズとを含むヘッダを生成する生成工程と、
    前記送信データを暗号化する暗号化工程と、
    前記生成工程によって生成されたヘッダと、前記暗号化工程によって暗号化された送信データとを前記送信先へ送信する送信工程と、
    を含むことを特徴とする情報送信方法。
  7. 送信指示を受け付けたコンテンツと、当該コンテンツの改竄と送信者のなりすましを防ぐための認証コードと、パディングデータと、を含む送信データを、所定の暗号化アルゴリズムによって暗号化して、送信先へ送信させる情報送信プログラムにおいて、
    前記暗号化アルゴリズムと、前記認証コードおよび前記コンテンツのデータサイズとに基づいて、前記パディングデータのパディングデータサイズを算出させるパディングデータサイズ算出工程と、
    前記パディングデータサイズ算出工程によって算出されたパディングデータサイズと、前記認証コードおよび前記コンテンツのデータサイズとから、前記送信データの送信データサイズを算出させる送信データサイズ算出工程と、
    前記送信データサイズ算出工程によって算出された送信データサイズを用いて、前記送信データの種別と当該送信データサイズとを含むヘッダを生成させる生成工程と、
    前記送信データを暗号化させる暗号化工程と、
    前記生成工程によって生成されたヘッダと、前記暗号化工程によって暗号化された送信データとを前記送信先へ送信させる送信工程と、
    をコンピュータに実行させることを特徴とする情報送信プログラム。
  8. 送信指示を受け付けたコンテンツと、当該コンテンツの改竄と送信者のなりすましを防ぐための認証コードと、パディングデータと、を含む送信データを、所定の暗号化アルゴリズムによって暗号化して、送信先へ送信させる情報送信プログラムにおいて、
    前記暗号化アルゴリズムと、前記認証コードおよび前記コンテンツのデータサイズとに基づいて、前記パディングデータのパディングデータサイズを算出させるパディングデータサイズ算出工程と、
    前記パディングデータサイズ算出工程によって算出されたパディングデータサイズと、前記認証コードおよび前記コンテンツのデータサイズとから、前記送信データの送信データサイズを算出させる送信データサイズ算出工程と、
    前記送信データサイズ算出工程によって算出された送信データサイズを用いて、前記送信データの種別と当該送信データサイズとを含むヘッダを生成させる生成工程と、
    前記送信データを暗号化させる暗号化工程と、
    前記生成工程によって生成されたヘッダと、前記暗号化工程によって暗号化された送信データとを前記送信先へ送信させる送信工程と、
    をコンピュータに実行させることを特徴とする情報送信プログラムを記録したコンピュータに読み取り可能な記録媒体。
JP2007057221A 2007-03-07 2007-03-07 情報送信装置、情報送信方法、情報送信プログラムおよび該プログラムを記録した記録媒体 Expired - Fee Related JP4802123B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007057221A JP4802123B2 (ja) 2007-03-07 2007-03-07 情報送信装置、情報送信方法、情報送信プログラムおよび該プログラムを記録した記録媒体
US12/073,715 US8571206B2 (en) 2007-03-07 2008-03-07 Information transmitting apparatus, information transmitting method, and computer product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007057221A JP4802123B2 (ja) 2007-03-07 2007-03-07 情報送信装置、情報送信方法、情報送信プログラムおよび該プログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2008219746A JP2008219746A (ja) 2008-09-18
JP4802123B2 true JP4802123B2 (ja) 2011-10-26

Family

ID=39741623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007057221A Expired - Fee Related JP4802123B2 (ja) 2007-03-07 2007-03-07 情報送信装置、情報送信方法、情報送信プログラムおよび該プログラムを記録した記録媒体

Country Status (2)

Country Link
US (1) US8571206B2 (ja)
JP (1) JP4802123B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8578138B2 (en) 2009-08-31 2013-11-05 Intel Corporation Enabling storage of active state in internal storage of processor rather than in SMRAM upon entry to system management mode
WO2012025988A1 (ja) * 2010-08-24 2012-03-01 三菱電機株式会社 暗号化装置、暗号化システム、暗号化方法及び暗号化プログラム
JP5641133B2 (ja) 2011-03-25 2014-12-17 富士通株式会社 情報処理装置、改ざん検出装置、情報処理方法、改ざん検出方法、情報処理プログラムおよび改ざん検出プログラム
WO2013042383A1 (ja) * 2011-09-22 2013-03-28 三洋電機株式会社 無線装置
JP2013141137A (ja) * 2012-01-05 2013-07-18 Ricoh Co Ltd 複合システム
KR101370266B1 (ko) * 2012-07-20 2014-03-06 한국항공우주산업 주식회사 Crc tool을 이용한 ofp 무결성 입증 방법
US8949617B2 (en) * 2013-05-03 2015-02-03 Citrix Systems, Inc. Disrupting password attack using compression
US9883017B2 (en) * 2014-04-25 2018-01-30 Livio, Inc. Categorized handling of electronic communications
JP2016042230A (ja) * 2014-08-14 2016-03-31 富士通株式会社 コンテンツ送信プログラム、装置、及び方法
CN105704091B (zh) * 2014-11-25 2018-12-04 中国科学院声学研究所 一种基于ssh协议的会话解析方法及系统
US11115184B2 (en) * 2017-05-22 2021-09-07 Micro Focus Llc Format preserving encryption with padding

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6310893B1 (en) 1998-06-17 2001-10-30 Genuity Inc. Method and system for connectionless communication in a cell relay satellite network
US7003667B1 (en) * 1999-10-04 2006-02-21 Canon Kabushiki Kaisha Targeted secure printing
US7360075B2 (en) * 2001-02-12 2008-04-15 Aventail Corporation, A Wholly Owned Subsidiary Of Sonicwall, Inc. Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols
JP3819729B2 (ja) * 2001-04-20 2006-09-13 株式会社エヌ・ティ・ティ・ドコモ データ安全化通信装置及びその方法
US20030041242A1 (en) * 2001-05-11 2003-02-27 Sarver Patel Message authentication system and method
KR100408287B1 (ko) * 2001-06-15 2003-12-03 삼성전자주식회사 컨텐트 보호 시스템 및 방법
US8245032B2 (en) * 2003-03-27 2012-08-14 Avaya Inc. Method to authenticate packet payloads
US7392399B2 (en) * 2003-05-05 2008-06-24 Sun Microsystems, Inc. Methods and systems for efficiently integrating a cryptographic co-processor
JP4346962B2 (ja) * 2003-06-05 2009-10-21 日本電気株式会社 暗号化通信制御装置
JP3998640B2 (ja) * 2004-01-16 2007-10-31 株式会社東芝 暗号化及び署名方法、装置及びプログラム
JP2006041684A (ja) * 2004-07-23 2006-02-09 Sony Corp 暗号処理装置および暗号処理方法
JP2006245733A (ja) * 2005-03-01 2006-09-14 Matsushita Electric Ind Co Ltd 暗号化通信方法、送信端末および受信端末
JP2007041223A (ja) * 2005-08-02 2007-02-15 Mitsubishi Electric Corp データ配信装置及びデータ通信システム
US8923157B2 (en) * 2007-11-05 2014-12-30 Qualcomm Incorporated Scheduling QOS flows in broadband wireless communication systems

Also Published As

Publication number Publication date
US20080219435A1 (en) 2008-09-11
JP2008219746A (ja) 2008-09-18
US8571206B2 (en) 2013-10-29

Similar Documents

Publication Publication Date Title
JP4802123B2 (ja) 情報送信装置、情報送信方法、情報送信プログラムおよび該プログラムを記録した記録媒体
US7958361B2 (en) Information processing apparatus and method
US7535586B2 (en) Information processing device, printing device, print data transmission method, printing method, print data transmitting program, and recording medium
US8533479B2 (en) Translating information between computing devices having different security management
JP5094543B2 (ja) 情報処理装置、制御方法、及びプログラム
JP4765482B2 (ja) 文書管理システム、文書管理プログラム及び文書管理方法
JP2007288747A (ja) 画像処理システムおよび画像処理システムの制御方法および画像形成装置および画像再生装置
JP2006191626A (ja) 電子文書をセキュアに通信するシステム、方法およびプログラム
JP2005310113A (ja) 安全な印刷
JP5824257B2 (ja) 画像処理装置、その制御方法、及びプログラム
JP2006109107A (ja) 署名生成方法、署名検証方法、公開鍵配布方法、及び情報処理装置
JP4479703B2 (ja) 通信システムと管理装置
JP6940812B2 (ja) 情報処理装置、および、コンピュータプログラム
US8233628B2 (en) Information processing apparatus and information processing method
US8081761B2 (en) Communication encryption processing apparatus
JP2006139784A (ja) ドキュメント処理装置とその装置にデータ暗号化サービスを追加する方法およびプログラム
JP4290036B2 (ja) 情報処理装置及び印刷制御装置
JP2009193024A (ja) 復号化処理装置、暗号処理システム、復号化処理方法およびプログラム
JP2008059033A (ja) 通信システムと管理装置と情報処理装置
TWI421723B (zh) 資訊處理系統、方法、紀錄媒體、以及伺服器系統、客戶端裝置
JP2007124530A (ja) 復号化処理装置および復号化方法ならびに画像形成装置
JP4442583B2 (ja) 画像処理装置、画像処理方法及び画像処理用プログラム
JP4983047B2 (ja) 電子データ格納装置、及びプログラム
JP2004184516A (ja) デジタルデータ送信端末
JP2007325038A (ja) 画像処理装置およびその方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110802

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110808

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees