(57)【特許請求の範囲】
【請求項１】
銀行ＰＯＳとモバイルターミナルとの通信の暗号化方法であって、
前記銀行ＰＯＳ及び前記モバイルターミナルが、共通の一時鍵Ｋmasterを生成するステップと、
前記モバイルターミナルが、ブルートゥースアドレスＢＤ＿ＡＤＤＲを前記銀行ＰＯＳに送信し、前記モバイルターミナル及び前記銀行ＰＯＳが、各々前記一時鍵Ｋmaster及び前記モバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲを鍵生成公式に当てはめて暗号鍵Ｋcipherを生成するステップと、
前記銀行ＰＯＳ又は前記モバイルターミナルが、送信待ちの平文データストリームと暗号鍵とをＸＯＲ演算して暗号化後伝送暗号文を生成するステップと、
を備え、
前記銀行ＰＯＳ及び前記モバイルターミナルが、共通の一時鍵Ｋmasterを生成するステップは、
前記銀行ＰＯＳ及び前記モバイルターミナルが、ＫＥＹ値Ｋ1を照合するステップと、
前記銀行ＰＯＳが、第１乱数ＲＡＮＤ１及び第２乱数ＲＡＮＤ２を生成し、前記第１乱数ＲＡＮＤ１及び前記第２乱数ＲＡＮＤ２を鍵生成公式に当てはめて一時鍵Ｋmasterを生成するステップと、
前記銀行ＰＯＳが、第３乱数ＲＡＮＤを生成して前記第３乱数ＲＡＮＤを前記モバイルターミナルに送信するステップと、
前記銀行ＰＯＳ及び前記モバイルターミナルが、各々前記第３乱数ＲＡＮＤ及びＫ1を鍵生成公式に当てはめてＯＶＬ値を生成するステップと、
前記銀行ＰＯＳが、ＯＶＬ値とＫmasterとの排他的論理和によって一時的な値Ｃを生成し、前記一時的な値Ｃを前記モバイルターミナルに送信するステップと、
前記モバイルターミナルが、受信した前記一時的な値Ｃと前記ＯＶＬ値との排他的論理和によって一時鍵Ｋmasterを生成するステップと、
を含み、
前記モバイルターミナルが、ブルートゥースアドレスＢＤ＿ＡＤＤＲを前記銀行ＰＯＳに送信し、前記モバイルターミナル及び前記銀行ＰＯＳが、各々前記一時鍵Ｋmaster及び前記モバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲを鍵生成公式に当てはめて暗号鍵Ｋcipherを生成するステップは、
前記モバイルターミナルが、デバイスのブルートゥースアドレスＢＤ＿ＡＤＤＲを前記銀行ＰＯＳに送信してハンドシェイクを行うステップと、
前記ハンドシェイクに成功した場合、前記銀行ＰＯＳが、受信した前記モバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲを保存し、第４乱数ＥＮ＿ＲＡＮＤAを前記モバイルターミナルに送信し、さもなければ前記モバイルターミナルがハンドシェイク信号を重複送信するステップと、
前記モバイルターミナル及び前記銀行ＰＯＳが、各々前記モバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲ、前記ＯＶＬ値、前記一時鍵Ｋmaster及び前記第４乱数ＥＮ＿ＲＡＮＤAを鍵生成公式に当てはめて暗号鍵Ｋcipherを生成して暗号鍵Ｋcipherを保存するステップと、
を含むことを特徴とする銀行ＰＯＳとモバイルターミナルとの通信の暗号化方法。
【請求項２】
前記銀行ＰＯＳ又は前記モバイルターミナルが、送信待ちの平文データストリームと暗号鍵とをＸＯＲ演算して暗号化後伝送暗号文を生成するステップは、
前記銀行ＰＯＳ又は前記モバイルターミナルが、送信待ちの平文データストリームをデフォルトの長さによって分割するステップと、
分割後の各部分送信待ちの平文データストリームをデータ長とデータタイプとを含む各々異なるデータ構造のデータペイロード内に記入し、前記各部分送信待ちの平文データストリームの送信待ちの平文データストリームにおける順番をデータペイロードの最上位バイトに記入するステップと、
前記各データ構造のデータペイロード内の送信待ちの平文データストリームと暗号鍵とを各々ＸＯＲ演算して暗号化後の伝送暗号文を生成するステップと、
を含むことを特徴とする請求項１に記載の銀行ＰＯＳとモバイルターミナルとの通信の暗号化方法。
【請求項３】
前記一時鍵Ｋmaster及び前記暗号鍵Ｋcipherの長さは、１２８ビットであることを特徴とする請求項１に記載の銀行ＰＯＳとモバイルターミナルとの通信の暗号化方法。
【請求項４】
一時鍵Ｋmaster生成モジュールと暗号鍵Ｋcipher生成モジュールと暗号化モジュールとを含み、
前記一時鍵Ｋmaster生成モジュールは、一時鍵Ｋmasterを生成するために用いられ、
前記暗号鍵Ｋcipher生成モジュールは、モバイルターミナルが送信したブルートゥースアドレスＢＤ＿ＡＤＤＲを受信し、前記一時鍵Ｋmaster及び前記モバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲを鍵生成公式に当てはめて暗号鍵Ｋcipherを生成するために用いられ、  前記暗号化モジュールは、送信待ちの平文データストリームと暗号鍵とをＸＯＲ演算して暗号化後の伝送暗号文を生成するために用いられ、
前記一時鍵Ｋmaster生成モジュールは、第１ユニットと第２ユニットと第３ユニットと第４ユニットと第５ユニットとを含み、
前記第１ユニットは、前記モバイルターミナルとＫＥＹ値Ｋ1を照合するために用いられ、
前記第２ユニットは、第１乱数ＲＡＮＤ１及び第２乱数ＲＡＮＤ２を生成し、前記第１乱数ＲＡＮＤ１及び前記第２乱数ＲＡＮＤ２を鍵生成公式に当てはめて前記一時鍵Ｋmasterを生成するために用いられ、
前記第３ユニットは、第３乱数ＲＡＮＤを生成し、前記第３乱数ＲＡＮＤを前記モバイルターミナルに送信するために用いられ、
前記第４ユニットは、前記第３乱数ＲＡＮＤ及び前記ＫＥＹ値Ｋ1によってＯＶＬ値を生成するために用いられ、
前記第５ユニットは、前記ＯＶＬ値と前記一時鍵Ｋmasterとの排他的論理和によって一時的な値Ｃを生成し、前記一時的な値Ｃを前記モバイルターミナルに送信するために用いられ、
前記暗号鍵Ｋcipher生成モジュールは、第６ユニットと第７ユニットと第８ユニットと第９ユニットとを含み、
前記第６ユニットは、前記モバイルターミナルで送信したデバイスのブルートゥースアドレスＢＤ＿ＡＤＤＲ及びハンドシェイク信号を受信するために用いられ、
前記第７ユニットは、前記モバイルターミナルとのハンドシェイクに成功した時、受信した前記モバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲを保存して第４乱数ＥＮ＿ＲＡＮＤAを生成して前記モバイルターミナルに送信し、
前記第８ユニットは、前記モバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲ、前記ＯＶＬ値、前記一時鍵Ｋmaster及び前記第４乱数ＥＮ＿ＲＡＮＤAを鍵生成公式に当てはめて暗号鍵Ｋcipherを生成し、前記暗号鍵Ｋcipherを保存することを特徴とする銀行ＰＯＳ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化分野に関し、特に、銀行ＰＯＳとモバイルターミナルとの通信の暗号化方法及び銀行ＰＯＳに関する。
【背景技術】
【０００２】
オンライン決済の絶え間ない発展に伴い、銀行ＰＯＳとモバイルターミナルとの通信で決済するのが、すでにトレンドとなっている。銀行ＰＯＳとモバイルターミナルとは、有線方式又は無線方式を通じて通信できる。有線方式は、ＵＳＢインターフェースケーブルとオーディオケーブル等とを含む。無線方式は、ＷＩＦＩとｉｂｅａｃｏｎブルートゥースと赤外と音波通信等とを含む。ただし、有線方式の通信は各種ケーブルを通じて接続を行う必要があり、使用が極めて不便であるため、人々に受け入れられない。無線方式の通信は、データ伝播中にインターセプトされやすく、データの秘密保持及び安全性において不利である。よって、無線方式では、伝送するデータを暗号化することが不可欠である。
【０００３】
従来の通信の暗号化アルゴリズムにおいて、ＤＥＳ暗号化アルゴリズムは、１つの成熟したソリューションで、非常に多くの通信技術分野に応用されているが、技術上の開放性及び使用における柔軟性に欠けているため、金融決済分野において使いにくくなっている。
【０００４】
また、ＤＥＳ暗号化アルゴリズムは、複雑で、計算量が大きく、大量のソフト、ハードウェア資源を占用する必要がある。銀行ＰＯＳ及びモバイルターミナルのソフト、ハードウェア資源はいずれも限定的であるため、ＤＥＳ暗号化アルゴリズムを用いて伝送するデータを暗号化すると、銀行ＰＯＳとモバイルターミナルとの間のデータ転送速度が大幅に低下する。
【０００５】
モバイル決済分野において決済の便利・迅速及び安全性を強調するため、暗号化の安全性及び信頼性が必要なだけでなく、暗号化及び復号化は、モバイル側のソフト・ハードウェア実現に対する難易度及びデータ転送速度の低下の有無等を考慮しなければならない。よって、従来技術においては、次の問題点が存在している。
【０００６】
従来の銀行ＰＯＳとモバイルターミナルとの無線通信においては、平文で情報を送信すると、情報漏洩の危険性が存在する。
【０００７】
ＤＥＳ暗号化アルゴリズムで銀行ＰＯＳ及びモバイルターミナルが伝送するデータストリームについて暗号化を行う効率が低すぎ、パスワードのライフサイクルが短く、演算速度が低く、使用上の柔軟性がなく、モバイルターミナルにおける使用が制限を受ける。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、上記技術的課題を解決するため、占用するソフト・ハードウェア資源は少なく、通信の伝送速度が高い、銀行ＰＯＳとモバイルターミナルとの通信の暗号化方法及び銀行ＰＯＳを提供する。
【課題を解決するための手段】
【０００９】
本発明に係る銀行ＰＯＳとモバイルターミナルとの通信の暗号化方法は、次のステップを含む。
前記銀行ＰＯＳ及び前記モバイルターミナルが、共通の一時鍵Ｋmasterを生成する。
前記モバイルターミナルが、ブルートゥースアドレスＢＤ＿ＡＤＤＲを前記銀行ＰＯＳに送信し、前記モバイルターミナル及び前記銀行ＰＯＳが、各々前記一時鍵Ｋmaster及び前記モバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲを鍵生成公式に当てはめて暗号鍵Ｋcipherを生成する。
前記銀行ＰＯＳ又は前記モバイルターミナルが、送信待ちの平文データストリームと暗号鍵とをＸＯＲ演算して暗号化後伝送暗号文を生成する。
そして、前記銀行ＰＯＳ及び前記モバイルターミナルが、共通の一時鍵Ｋmasterを生成するステップは、
前記銀行ＰＯＳ及び前記モバイルターミナルが、ＫＥＹ値Ｋ1を照合するステップと、
前記銀行ＰＯＳが、第１乱数ＲＡＮＤ１及び第２乱数ＲＡＮＤ２を生成し、前記第１乱数ＲＡＮＤ１及び前記第２乱数ＲＡＮＤ２を鍵生成公式に当てはめて一時鍵Ｋmasterを生成するステップと、
前記銀行ＰＯＳが、第３乱数ＲＡＮＤを生成して前記第３乱数ＲＡＮＤを前記モバイルターミナルに送信するステップと、
前記銀行ＰＯＳ及び前記モバイルターミナルが、各々前記第３乱数ＲＡＮＤ及びＫ1を鍵生成公式に当てはめてＯＶＬ値を生成するステップと、
前記銀行ＰＯＳが、ＯＶＬ値とＫmasterとの排他的論理和によって一時的な値Ｃを生成し、前記一時的な値Ｃを前記モバイルターミナルに送信するステップと、
前記モバイルターミナルが、受信した前記一時的な値Ｃと前記ＯＶＬ値との排他的論理和によって一時鍵Ｋmasterを生成するステップとを含み、
前記モバイルターミナルが、ブルートゥースアドレスＢＤ＿ＡＤＤＲを前記銀行ＰＯＳに送信し、前記モバイルターミナル及び前記銀行ＰＯＳが、各々前記一時鍵Ｋmaster及び前記モバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲを鍵生成公式に当てはめて暗号鍵Ｋcipherを生成するステップは、
前記モバイルターミナルが、デバイスのブルートゥースアドレスＢＤ＿ＡＤＤＲを前記銀行ＰＯＳに送信してハンドシェイクを行うステップと、
前記ハンドシェイクに成功した場合、前記銀行ＰＯＳが、受信した前記モバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲを保存し、第４乱数ＥＮ＿ＲＡＮＤAを前記モバイルターミナルに送信し、さもなければ前記モバイルターミナルがハンドシェイク信号を重複送信するステップと、
前記モバイルターミナル及び前記銀行ＰＯＳが、各々前記モバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲ、前記ＯＶＬ値、前記一時鍵Ｋmaster及び前記第４乱数ＥＮ＿ＲＡＮＤAを鍵生成公式に当てはめて暗号鍵Ｋcipherを生成して暗号鍵Ｋcipherを保存するステップとを含む。
【００１２】
本発明に係る銀行ＰＯＳは、一時鍵Ｋmaster生成モジュールと暗号鍵Ｋcipher生成モジュールと暗号化モジュールとを含む。
前記一時鍵Ｋmaster生成モジュールは、一時鍵Ｋmasterを生成するために用いられる。
前記暗号鍵Ｋcipher生成モジュールは、モバイルターミナルが送信したブルートゥースアドレスＢＤ＿ＡＤＤＲを受信し、前記一時鍵Ｋmaster及び前記モバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲを鍵生成公式に当てはめて暗号鍵Ｋcipherを生成するために用いられる。
前記暗号化モジュールは、送信待ちの平文データストリームと暗号鍵とをＸＯＲ演算して暗号化後の伝送暗号文を生成するために用いられる。
そして、前記一時鍵Ｋmaster生成モジュールは、第１ユニットと第２ユニットと第３ユニットと第４ユニットと第５ユニットとを含み、
前記第１ユニットは、前記モバイルターミナルとＫＥＹ値Ｋ1を照合するために用いられ、
前記第２ユニットは、第１乱数ＲＡＮＤ１及び第２乱数ＲＡＮＤ２を生成し、前記第１乱数ＲＡＮＤ１及び前記第２乱数ＲＡＮＤ２を鍵生成公式に当てはめて前記一時鍵Ｋmasterを生成するために用いられ、
前記第３ユニットは、第３乱数ＲＡＮＤを生成し、前記第３乱数ＲＡＮＤを前記モバイルターミナルに送信するために用いられ、
前記第４ユニットは、前記第３乱数ＲＡＮＤ及び前記ＫＥＹ値Ｋ1によってＯＶＬ値を生成するために用いられ、
前記第５ユニットは、前記ＯＶＬ値と前記一時鍵Ｋmasterとの排他的論理和によって一時的な値Ｃを生成し、前記一時的な値Ｃを前記モバイルターミナルに送信するために用いられ、
前記暗号鍵Ｋcipher生成モジュールは、第６ユニットと第７ユニットと第８ユニットと第９ユニットとを含み、
前記第６ユニットは、前記モバイルターミナルで送信したデバイスのブルートゥースアドレスＢＤ＿ＡＤＤＲ及びハンドシェイク信号を受信するために用いられ、
前記第７ユニットは、前記モバイルターミナルとのハンドシェイクに成功した時、受信した前記モバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲを保存して第４乱数ＥＮ＿ＲＡＮＤAを生成して前記モバイルターミナルに送信し、
前記第８ユニットは、前記モバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲ、前記ＯＶＬ値、前記一時鍵Ｋmaster及び前記第４乱数ＥＮ＿ＲＡＮＤAを鍵生成公式に当てはめて暗号鍵Ｋcipherを生成し、前記暗号鍵Ｋcipherを保存する。
【発明の効果】
【００１３】
本発明に係る銀行ＰＯＳとモバイルターミナルとの通信の暗号化方法では、一時鍵及び暗号鍵の長さが短く、鍵の生成及びデータを暗号化する計算量が小さく、占用するソフト、ハードウェア資源が少なく、銀行ＰＯＳ及びモバイルターミナルのデータ伝送速度を効果的に保証し、且つ暗号鍵がモバイルターミナルのブルートゥースアドレスと対応し、暗号鍵の一意性が高い。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係る銀行ＰＯＳとモバイルターミナルとの通信の暗号化方法のフローチャートである。
【図２】本発明の一実施形態に係る銀行ＰＯＳとモバイルターミナルとの通信方法のフローチャートである。
【図３】本発明の一実施形態に係る銀行ＰＯＳとモバイルターミナルとの通信の暗号化装置の機能ブロック図である。
【図４】本発明の一実施形態に係る銀行ＰＯＳの機能ブロック図である。
【図５】本発明の一実施例における銀行ＰＯＳとモバイルターミナルとの通信の暗号化方法を示す模式図である。
【図６】本発明の一実施例における銀行ＰＯＳとモバイルターミナルとの通信の暗号化方法を示す模式図である。
【図７】本発明の一実施形態における鍵生成公式Ｅ0の鍵生成を示す模式図である。
【発明を実施するための形態】
【００１５】
本発明の銀行ＰＯＳ及びモバイルターミナルは、一時鍵を通じて暗号鍵を生成し、鍵生成中において一部のデータのみを伝送し、生成や暗号化が安全であると共に、暗号化方法アルゴリズムが簡単で、鍵の長さが短く、占用するソフト・ハードウェア資源が少ない。
【００１６】
以下、本発明の技術内容、構造特徴、達成する目的及び効果を詳細に説明するため、実施形態を組み合わせたと共に添付図面を基に詳細に説明する。
【００１７】
＜実施形態１＞
図１を参照すると、本実施形態に係る銀行ＰＯＳとモバイルターミナルとの通信の暗号化方法は、次のステップを含む。
・銀行ＰＯＳ及びモバイルターミナルが、共通の一時鍵Ｋmasterを生成する。
・モバイルターミナルが、ブルートゥースアドレスＢＤ＿ＡＤＤＲを銀行ＰＯＳに送信し、モバイルターミナル及び銀行ＰＯＳが、各々一時鍵Ｋmaster及びモバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲを鍵生成公式に当てはめて暗号鍵Ｋcipherを生成する。
・銀行ＰＯＳ又はモバイルターミナルが、送信待ちの平文データストリームと暗号鍵とをＸＯＲ演算して暗号化後伝送暗号文を生成する。
【００１８】
本実施形態において、一時鍵Ｋmaster及び暗号鍵Ｋcipherの長さは、１２８ビットであるため、鍵生成の計算量及び暗号鍵でデータを暗号化した時の計算量を大幅に減らすことができ、よって占用するソフト・ハードウェア資源が少なく、銀行ＰＯＳとモバイルターミナル（銀行ＰＯＳ及びモバイルターミナルのソフトウェア、ハードウェア資源が有限で、複雑な暗号化アルゴリズムを使用すると、通信の伝送速度に著しく影響を及ぼす）の通信のデータ伝送速度が有利である。本実施形態において、モバイルターミナルはスマートフォンであるが、その他の実施形態において、モバイルターミナルはＰＤＡ、タブレット型コンピュータ等のデバイスであってよい。
【００１９】
本実施形態において、銀行ＰＯＳ及びモバイルターミナルは、モバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲ（各モバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲは一意である）及び生成した共通の一時鍵Ｋmasterを通じて暗号鍵を生成し、銀行ＰＯＳと各モバイルターミナルとの通信の暗号鍵Ｋcipherが異なる。また、都度通信を行う銀行ＰＯＳとモバイルターミナルのみが同じ暗号鍵Ｋcipherを保有させることができ、通信中の暗号化データの伝送安全を効果的に保証する。本実施形態において、モバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲは、モバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲ又はモバイルターミナルその他のブルートゥースアドレスＢＤ＿ＡＤＤＲとしてもよい。
【００２０】
本実施形態において、生成した共通の一時鍵Ｋmasterの安全を高め、一時鍵Ｋmasterがインターセプトされることを防止するため、上記の「銀行ＰＯＳ及びモバイルターミナルが、共通の一時鍵Ｋmasterを生成するステップ」は、具体的には、次のステップを含む。
【００２１】
銀行ＰＯＳ及びモバイルターミナルが、ＫＥＹ値Ｋ1を照合する。ここで、ＫＥＹ値Ｋ1は、銀行ＰＯＳからモバイルターミナルに送信したものであってもよいし、モバイルターミナルから銀行ＰＯＳに送信したものであってもよく、モバイルターミナル及び銀行ＰＯＳの双方の保有者が対面でチェックする。ＫＥＹ値Ｋ1チェックは、その他の実施形態において、その他の方式を通じて行うことができ、例えばモバイルのＳＭＳでＫ1チェックを行ってよい。
【００２２】
銀行ＰＯＳが、第１乱数ＲＡＮＤ１及び第２乱数ＲＡＮＤ２を生成し、第１乱数ＲＡＮＤ１及び第２乱数ＲＡＮＤ２を鍵生成公式に当てはめて一時鍵Ｋmasterを生成する。ここで、鍵生成公式はＫmaster＝Ｅ1（ＲＡＮＤ１，ＲＡＮＤ２，１６）であり、Ｅ1は｛０，１｝8L'×｛０，１｝128×｛１，２．．．．．．１６｝→｛０，１｝128→Ａ’ｔ（Ｘ，Ｙ）である。
【００２３】
銀行ＰＯＳが、第３乱数ＲＡＮＤを生成して、第３乱数ＲＡＮＤをモバイルターミナルに送信する。
【００２４】
銀行ＰＯＳ及びモバイルターミナルが、各々第３乱数ＲＡＮＤ及びＫ1を鍵生成公式に当てはめてＯＶＬ値を生成する。ここで、鍵生成公式はＯＶＬ＝Ｅ1（Ｋ1，ＲＡＮＤ，１６）であり、Ｅ1は上記と同じである。
【００２５】
銀行ＰＯＳが、ＯＶＬ値とＫmasterとの排他的論理和によって一時的な値Ｃを生成し、当該一時的な値Ｃをモバイルターミナルに送信する。
【００２６】
モバイルターミナルが、受信した一時的な値ＣとＯＶＬ値との排他的論理和によって一時鍵Ｋmasterを生成する。
【００２７】
本実施形態において、銀行ＰＯＳ及びモバイルターミナルが共同の一時鍵Ｋmasterを生成するのは、伝送した一時的な値Ｃ及び確認したＫ1で計算して生成したものであり、鍵生成中、鍵生成部分のデータのみを伝送するため、これらデータがインターセプトされたとしても一時鍵Ｋmasterの漏洩が起きない。よって、一時鍵Ｋmasterの安全性が高まる。
【００２８】
本実施形態において、上記の「モバイルターミナルが、ブルートゥースアドレスＢＤ＿ＡＤＤＲを銀行ＰＯＳに送信し、モバイルターミナル及び銀行ＰＯＳが、各々一時鍵Ｋmaster及びモバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲを鍵生成公式に当てはめて暗号鍵Ｋcipherを生成するステップ」は、具体的には、次のステップを含む。
【００２９】
モバイルターミナルが、デバイスのブルートゥースアドレスＢＤ＿ＡＤＤＲを銀行ＰＯＳに送信してハンドシェイクを行い、ブルートゥースアドレスＢＤ＿ＡＤＤＲを送信しながら肯定応答文字Ｋ2を生成し、肯定応答文字Ｋ2を銀行ＰＯＳに送信し、モバイルターミナル及び銀行ＰＯＳの保有者が、肯定応答文字Ｋ2が一致であるかを確認し、一致の場合ハンドシェイクに成功する。
【００３０】
ハンドシェイクに成功した場合、銀行ＰＯＳが、受信したモバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲを保存し、第４乱数ＥＮ＿ＲＡＮＤAをモバイルターミナルに送信し、さもなければモバイルターミナルがハンドシェイク信号を重複送信する。
【００３１】
モバイルターミナル及び銀行ＰＯＳが、各々モバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲ、ＯＶＬ値、一時鍵Ｋmaster及び第４乱数ＥＮ＿ＲＡＮＤAを下記の鍵生成公式Ｅ0に当てはめて暗号鍵Ｋcipherを生成して暗号鍵Ｋcipherを保存する。
鍵生成公式Ｅ0：｛０，１｝128×｛０，１｝128×｛０，１｝96×｛０，１｝48→｛０，１｝128masterA→ＨＡＳＨ（Ｋmaster，ＥＮ＿ＲＡＮＤA，ＯＶＬ，ＢＤ＿ＡＤＤＲ，１２）
【００３２】
一時鍵Ｋmasterの生成中と同様、暗号鍵Ｋcipher生成中、銀行ＰＯＳとモバイルターミナルとも一部のデータを伝送し、暗号鍵Ｋcipherが容易にインターセプトされず、また各モバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲが互いに異なることで、生成した各暗号鍵Ｋcipherがいずれも異なり、且つハンドシェイクに成功した銀行ＰＯＳ及びモバイルターミナルの双方のみが暗号鍵Ｋcipherを保有する。従って、暗号鍵Ｋcipherの安全が更に保証される。
【００３３】
本実施形態において、上記の「銀行ＰＯＳ又はモバイルターミナルが、送信待ちの平文データストリームと暗号鍵とをＸＯＲ演算して暗号化後伝送暗号文を生成するステップ」は、具体的には、次のステップを含む。
【００３４】
銀行ＰＯＳ又はモバイルターミナルが、送信待ちの平文データストリームをデフォルトの長さによって分割する。長さがデフォルトの長さよりも短い又は等しい送信待ちの平文データについては、分割処理を行わない。
【００３５】
分割後の各部分送信待ちの平文データストリームをデータ長とデータタイプとを含む各々異なるデータ構造のデータペイロード内に記入し、各部分送信待ちの平文データストリームの送信待ちの平文データストリームにおける順番をデータペイロードの最上位バイトに記入する。
【００３６】
各データ構造のデータペイロード内の送信待ちの平文データストリームと暗号鍵とを各々ＸＯＲ演算して暗号化後の伝送暗号文を生成する。
【００３７】
本実施形態において、銀行ＰＯＳとモバイルターミナルとは、ｉｂｅａｃｏｎを通じて通信する。その他の実施形態において、銀行ＰＯＳとモバイルターミナルとは、音波通信、ブルートゥース通信その他の無線通信方式を通じて通信してよい。
【００３８】
ｉｂｅａｃｏｎ通信技術は、アップル社が打ち出した１つの新しい通信方式であり、つまり低消費電力のブルートゥース技術（Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ、略語ｂｌｅ）のブロードキャスト及びスキャン方法を用いて情報の送信及び受信を行い、ブロードキャスト及びスキャンの過程が十分迅速である。そのため、ｉｂｅａｃｏｎ通信方式は、十分便利かつ高効率で、主にショッピングモールの広告プッシュ及び屋内座標測位・ナビゲーション等のセンシティブ情報が及ばない場面に応用され、ブロードキャスト情報を暗号化する必要がなく平文で情報伝達を行うことができる。
【００３９】
本実施形態では、ｉｂｅａｃｏｎ技術通信をモバイルターミナルと銀行ＰＯＳとの通信に応用し、上記暗号化方法を通じて伝送待ちのデータを暗号化するため、ｉｂｅａｃｏｎ通信の利便性が十分発揮されると共に、通信の安全性も確保される。
【００４０】
＜実施形態２＞
図２を参照すると、本実施形態に係る銀行ＰＯＳとモバイルターミナルとの通信方法は、通信伝送のデータが上記暗号化方法で暗号化され、暗号化後、次のステップを更に含む。
・銀行ＰＯＳ又はモバイルターミナルが、伝送待ちの平文データストリームと２進数の暗号鍵ＫcipherビットストリームとをＸＯＲ演算して暗号化後の伝送暗号文を得ると共に暗号化後の伝送暗号文を送信する。
・モバイルターミナル又は銀行ＰＯＳが、受信した伝送暗号文と２進数の暗号鍵ＫcipherビットストリームとをＸＯＲ演算して平文データストリームを生成する。
【００４１】
本実施形態の銀行ＰＯＳとモバイルターミナルとの通信方法によると、データを暗号化する暗号鍵の長さが短く、アルゴリズムが簡単で、占用するソフト・ハードウェア資源が少ない。そのため、銀行ＰＯＳ及びモバイルターミナルのようなソフト・ハードウェア資源が比較的有限で、伝送データが比較的小さい状況において、特に適している。当該通信方法によれば、データ伝送の安全性を保証でき、銀行ＰＯＳとモバイルターミナルとの間の伝送速度に影響を及ぼすことがない。
【００４２】
＜実施形態３＞
図３を参照すると、本実施形態に係る銀行ＰＯＳとモバイルターミナルとの通信の暗号化装置は、モバイルターミナルと銀行ＰＯＳとを含む。銀行ＰＯＳは、第１一時鍵Ｋmaster生成モジュール１０と第１暗号鍵Ｋcipher生成モジュール２０と第１暗号化モジュール３０とを含む。モバイルターミナルは、第２一時鍵Ｋmaster生成モジュール４０と第２暗号鍵Ｋcipher生成モジュール５０と第２暗号化モジュール６０とを含む。
【００４３】
第１一時鍵Ｋmaster生成モジュール１０及び第２一時鍵Ｋmaster生成モジュール４０は、各々銀行ＰＯＳとモバイルターミナルが共通の一時鍵Ｋmasterを生成するために用いられる。
【００４４】
第２暗号鍵Ｋcipher生成モジュール５０は、ブルートゥースアドレスＢＤ＿ＡＤＤＲを銀行ＰＯＳに送信して一時鍵Ｋmaster及びモバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲを鍵生成公式に当てはめて暗号鍵Ｋcipherを生成するために用いられる。
【００４５】
第１暗号鍵Ｋcipher生成モジュール２０は、一時鍵Ｋmaster及びモバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲを鍵生成公式に当てはめて暗号鍵Ｋcipherを生成するために用いられる。
【００４６】
第１暗号化モジュール３０及び第２暗号化モジュール６０は、各々銀行ＰＯＳ及びモバイルターミナルが送信待ちの平文データストリームと暗号鍵をＸＯＲ演算して暗号化後の伝送暗号文を生成するために用いられる。
【００４７】
＜実施形態４＞
図４を参照すると、本実施形態に係る銀行ＰＯＳは、一時鍵Ｋmaster生成モジュール１００と暗号鍵Ｋcipher生成モジュール２００と暗号化モジュール３００とを含む。
【００４８】
一時鍵Ｋmaster生成モジュール１００は、一時鍵Ｋmasterを生成するために用いられる。
【００４９】
暗号鍵Ｋcipher生成モジュール２００は、モバイルターミナルが送信したブルートゥースアドレスＢＤ＿ＡＤＤＲを受信し、一時鍵Ｋmaster及びモバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲを鍵生成公式に当てはめて暗号鍵Ｋcipherを生成するために用いられる。
【００５０】
暗号化モジュール３００は、送信待ちの平文データストリームと暗号鍵とをＸＯＲ演算して暗号化後の伝送暗号文を生成するために用いられる。
【００５１】
本実施形態において、銀行ＰＯＳが生成した一時鍵Ｋmasterの安全性を高めるため、一時鍵Ｋmaster生成モジュール１００は、第１ユニットと第２ユニットと第３ユニットと第４ユニットと第５ユニットとを含む。
【００５２】
第１ユニットは、モバイルターミナルとＫＥＹ値Ｋ1とを照合するために用いられる。
【００５３】
第２ユニットは、第１乱数ＲＡＮＤ１及び第２乱数ＲＡＮＤ２を生成し、第１乱数ＲＡＮＤ１及び第２乱数ＲＡＮＤ２を鍵生成公式に当てはめて一時鍵Ｋmasterを生成するために用いられる。
【００５４】
第３ユニットは、第３乱数ＲＡＮＤを生成し、第３乱数ＲＡＮＤをモバイルターミナルに送信するために用いられる。
【００５５】
第４ユニットは、第３乱数ＲＡＮＤ及びＫＥＹ値Ｋ1によってＯＶＬ値を生成するために用いられる。
【００５６】
第５ユニットは、ＯＶＬ値とＫmasterとの排他的論理和によって一時的な値Ｃを生成し、当該一時的な値Ｃをモバイルターミナルに送信するために用いられる。
【００５７】
本実施形態において、暗号鍵Ｋcipher生成の安全性を高めるため、暗号鍵Ｋcipher生成モジュール２００は、第６ユニットと第７ユニットと第８ユニットと第９ユニットとを含む。
【００５８】
第６ユニットは、モバイルターミナルで送信したデバイスのブルートゥースアドレスＢＤ＿ＡＤＤＲ及びハンドシェイク信号を受信するために用いられる。
【００５９】
第７ユニットは、モバイルターミナルとのハンドシェイクに成功した時、受信したモバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲを保存して第４乱数ＥＮ＿ＲＡＮＤAを生成してモバイルターミナルに送信する。
【００６０】
第８ユニットは、モバイルターミナルのブルートゥースアドレスＢＤ＿ＡＤＤＲ、ＯＶＬ値、一時鍵Ｋmaster及び第４乱数ＥＮ＿ＲＡＮＤAを鍵生成公式に当てはめて暗号鍵Ｋcipherを生成し、暗号鍵Ｋcipherを保存する。
【００６１】
上記を総括すると、本実施形態に係る銀行ＰＯＳとモバイルターミナルとの通信の暗号化方法では、一時鍵及び暗号鍵の長さが短く、鍵の生成及びデータを暗号化する計算量が小さく、占用するソフト、ハードウェア資源が少なく、銀行ＰＯＳ及びモバイルターミナルのデータ伝送速度を効果的に保証し、且つ暗号鍵がモバイルターミナルのブルートゥースアドレスと対応し、暗号鍵の一意性が高い。さらに、一時鍵及び暗号鍵の生成中、鍵を生成する一部のデータのみを伝送するため、一時鍵及び暗号鍵の安全性が高い。
【実施例】
【００６２】
以下、銀行ＰＯＳとモバイルターミナルとの通信の暗号化方法の実施例を通じて、本発明を具体的に説明する。
【００６３】
本実施例において、銀行ＰＯＳとモバイルターミナルとは、ｉｂｅａｃｏｎ技術を通じてデータの送信と受信を行う。銀行ＰＯＳとモバイルターミナルとの間の双方向通信を実現するため、モバイルターミナル及びＰＯＳターミナルにブロードキャスト情報を記入するためのブロードキャストインターフェース及びブロードキャスト情報を取得するためのスキャンインターフェースを各々カプセル化し、モバイルターミナル及びＰＯＳターミナルは、いずれもデータブロードキャストスレッド及びデータスキャンスレッドを開き、銀行ＰＯＳ及びモバイルターミナルが送信しようとする伝送データをｉｂｅａｃｏｎでブロードキャストするｕｕｉｄ情報内に挿入してデータブロードキャストを行い、ｕｕｉｄ情報をフィルタすることによってブロードキャストをスキャンしてｕｕｉｄ情報内から伝送データを取得する。
【００６４】
図５乃至図７に示すように、本実施例の主なフローは、次の通りである。
【００６５】
ステップ１）銀行ＰＯＳをｉｂｅａｃｏｎのブロードキャスト側に設定し、モバイルターミナルをｉｂｅａｃｏｎのスキャン側に設定し、銀行ＰＯＳ及びモバイルターミナルの双方が共通のＫｅｙ値（Ｋ１）をチェックする。ここで、Ｋｅｙ値については、銀行ＰＯＳ及び情報を受信するモバイルターミナルが対面でチェックできる。
【００６６】
ステップ２）ブロードキャスト側（銀行ＰＯＳ）が、２個の１２８ビットの乱数ＲＡＮＤ１及びＲＡＮＤ２でＫmasterを算出する。
【００６７】
ステップ３）ブロードキャスト側（銀行ＰＯＳ）が、３個目の乱数ＲＡＮＤを受信側（モバイルターミナル）に送信する。
【００６８】
ステップ４）ブロードキャスト側（銀行ＰＯＳ）が、乱数ＲＡＮＤと現在のｋｅｙ値とでＯＶＬを算出する。
【００６９】
ステップ５）受信側（モバイルターミナル）が、乱数ＲＡＮＤと現在のｋｅｙ値とでＯＶＬを算出する。
【００７０】
ステップ６）ブロードキャスト側（銀行ＰＯＳ）が、ＯＶＬとＫmasterとの排他的論理和によってＣを生成する。
【００７１】
ステップ７）ブロードキャスト側（銀行ＰＯＳ）が、Ｃを受信側（モバイルターミナル）に伝送する。
【００７２】
ステップ８）受信側（モバイルターミナル）が、ＯＶＬとＣとの排他的論理和によってＫmasterを生成する（これにより、情報受信側及びブロードキャスト側のＫmasterのみが同じになることが保証される）。
【００７３】
ステップ９）銀行ＰＯＳをｉｂｅａｃｏｎのスキャン側に設定し、モバイルターミナルをｉｂｅａｃｏｎのブロードキャスト側に設定し、受信側が１つの肯定応答文字Ｋ２及び自分のブルートゥースアドレスをブロードキャスト側に送信してハンドシェイクを行って受信デバイスの適法性を確認し、ブロードキャスト側の肯定応答文字Ｋ２が一致するか否かを待つ（Ｋ２の一致の有無を対面チェックできる）。ブロードキャスト側は正確であることを確認してから暗号化が続行でき、予備のために受信側のブルートゥースアドレスを保存する。ブロードキャスト側が間違いと確認した場合、終了する。
【００７４】
ステップ１０）ハンドシェイクに成功した後、ブロードキャスト側がＥＮ＿ＲＡＮＤＡを受信側に送信する。
【００７５】
ステップ１１）ブロードキャスト側が、暗号化規則Ｅ0を使用し、受信デバイスのブルートゥースアドレス（ＢＤ＿ＡＤＤＲ）、ＯＶＬ値、暗号鍵Ｋmaster及び１個の乱数ＥＮ＿ＲＡＮＤＡを入力とし、暗号鍵Ｋcipherを出力する。ここで、暗号化規則Ｅ0は、｛０，１｝128×｛０，１｝128×｛０，１｝96×｛０，１｝48→｛０，１｝128masterA→ＨＡＳＨ（Ｋmaster，ＥＮ＿ＲＡＮＤA，ＯＶＬ，ＢＤ＿ＡＤＤＲ，１２）とする。
【００７６】
ステップ１２）受信側が、上記と同樣に暗号化規則Ｅ0を使用し、受信デバイスのブルートゥースアドレス（ＢＤ＿ＡＤＤＲ）、ＯＶＬ値、暗号鍵Ｋmaster及び１個の乱数ＥＮ＿ＲＡＮＤＡを入力とし、暗号鍵Ｋcipherを出力する。これにより、ブロードキャスト側と受信側とで暗号鍵が一致する。
【００７７】
ステップ１３）ブロードキャスト側が、平文データストリームと２進数の鍵ストリームＫcipherとをＸＯＲ演算して暗号化データストリームを生成する。
【００７８】
ステップ１４）ブロードキャスト側が、暗号化データストリームを受信側に送信する。
【００７９】
ステップ１５）受信側が、暗号化データストリームを受信し、暗号化データストリームと２進数の鍵ストリームＫcipherとをＸＯＲ演算して平文データストリームを生成する。
【００８０】
以上に述べたのは、あくまでも本発明の実施形態及び実施例であって、本発明の保護範囲は、これら実施形態及び実施例により何ら限定されるものではない。本明細書及び添付図面の内容に基づいて行われる様々な構造又はフローの変更或いは直接的若しくは間接的にその他の関連の技術分野に運用することは、いずれも本発明の保護範囲内に含まれる。
【符号の説明】
【００８１】
１０  第１一時鍵Ｋmaster生成モジュール
２０  第１暗号鍵Ｋcipher生成モジュール
３０  第１暗号化モジュール
４０  第２一時鍵Ｋmaster生成モジュール
５０  第２暗号鍵Ｋcipher生成モジュール
６０  第２暗号化モジュール
１００  一時鍵Ｋmaster生成モジュール
２００  暗号鍵Ｋcipher生成モジュール
３００  暗号化モジュール
【図１】
0006279765.tif 000002
【図２】
0006279765.tif 000003
【図３】
0006279765.tif 000004
【図４】
0006279765.tif 000005
【図５】
0006279765.tif 000006
【図６】
0006279765.tif 000007
【図７】
0006279765.tif 000008