JP2016029787A - 情報処理装置、暗号化通信方法、およびプログラム - Google Patents

情報処理装置、暗号化通信方法、およびプログラム Download PDF

Info

Publication number
JP2016029787A
JP2016029787A JP2015002657A JP2015002657A JP2016029787A JP 2016029787 A JP2016029787 A JP 2016029787A JP 2015002657 A JP2015002657 A JP 2015002657A JP 2015002657 A JP2015002657 A JP 2015002657A JP 2016029787 A JP2016029787 A JP 2016029787A
Authority
JP
Japan
Prior art keywords
algorithm
information processing
algorithms
processing apparatus
encrypted communication
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.)
Pending
Application number
JP2015002657A
Other languages
English (en)
Inventor
康治 菅野
Koji Kanno
康治 菅野
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2015002657A priority Critical patent/JP2016029787A/ja
Publication of JP2016029787A publication Critical patent/JP2016029787A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Abstract

【課題】暗号化通信の先立って行われるハンドシェイクの際に、安全でないハッシュアルゴリズムが利用されることを抑制する情報処理装置、暗号化通信方法及びプログラムを提供する。
【解決手段】弱い暗号の利用を禁止する設定が複合機401に適用されている場合に、接続要求時の情報を基にして利用を許可する鍵交換方法を制御する。複合機401は特定の暗号化通信プロトコルに従って外部装置と暗号化通信を行う情報処理装置であって、暗号化通信プロトコルで使用される複数のアルゴリズムのセットのうち、所定の条件を満たさないアルゴリズムのセットの利用を禁止する禁止手段を有する。禁止手段により利用が禁止されるアルゴリズムのセットは、暗号化通信に先立って外部装置との間で行われるハンドシェイクの際に、情報処理装置の署名付きのメッセージにより外部装置に通知する。
【選択図】図4

Description

本発明は、情報処理装置、暗号化通信方法、およびプログラムに関し、特に、暗号化通信を行うために用いて好適なものである。
多くの情報機器は暗号化通信機能を備える。送信側の情報機器と受信側の情報機器との間で暗号化通信を行うことでネットワーク上での機密情報の漏洩を防ぐことができる。
通信の暗号化に利用されるアルゴリズムに係る技術として特許文献1に記載の技術がある。
特許文献1には、通信の暗号化に利用されるアルゴリズムを管理者がポリシーとして定めることにより、暗号化に利用されるアルゴリズムとして、ポリシーに従わないアルゴリズムを選択できないようにすることが開示されている。
特開2009−94676号公報
NIST,「Recommendation for Key Management: Part 1: General」、2007年3月、インターネット<URL:http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57-Part1-revised2_Mar08-2007.pdf>
しかしながら、特許文献1に記載の技術では、ポリシーによる制限の対象は暗号化に利用されるアルゴリズムだけである。したがって、かかるポリシーは、暗号化通信を行う準備フェーズには影響を与えない。したがって、暗号化通信に先立って行われるハンドシェイクの際に、所定の安全性を満たすハッシュアルゴリズムを制御することができない。
そこで、本発明は、暗号化通信の先立って行われるハンドシェイクの際に、安全でないハッシュアルゴリズムが利用されることを抑制することを目的とする。
本発明の情報処理装置は、特定の暗号化通信プロトコルに従って外部装置と暗号化通信を行う情報処理装置であって、前記暗号化通信プロトコルで使用される複数のアルゴリズムのセットのうち、所定の条件を満たさないアルゴリズムのセットの利用を禁止する禁止手段を有し、前記禁止手段により利用が禁止されるアルゴリズムのセットは、前記暗号化通信に先立って前記外部装置との間で行われるハンドシェイクの際に、前記情報処理装置の署名付きのメッセージを、前記外部装置に送信する必要があるアルゴリズムのセットであることを特徴とする。
本発明によれば、暗号化通信の先立って行われるハンドシェイクの際に、安全でないハッシュアルゴリズムが利用されることを抑制することができる。
SSL/TLSによる通信の概要を説明する図である。 Handshakeによる通信を説明する図である。 サーバ証明書に含まれる情報を示す図である。 ネットワーク構成を示す図である。 複合機のハードウェアの構成を示す図である。 複合機のソフトウェアの構成を示す図である。 設定画面を示す図である。 複合機の処理の第1の例を説明するフローチャートである。 図8のステップS803の詳細を説明するフローチャートである。 図9のステップS902の詳細を説明するフローチャートである。 図9のステップS904の詳細を説明するフローチャートである。 利用が禁止されるCipher Suiteを示す図である。 複合機の処理の第2の例を説明するフローチャートである。 複合機の処理の第3の例を説明するフローチャートである。 図14のステップS1404の詳細を説明するフローチャートである。
以下の各実施形態では、特定の暗号化通信プロトコルとして、SSL(Secure Socket Layer)またはTLS(Transport Layer Security)を用いる場合を例に挙げて説明する。そこで、まず、これらの暗号化通信プロトコルに基づく暗号化通信の概略の一例を説明する。尚、以下の説明では、SSLまたはTLSを必要に応じてSSL/TLSと表記する。
SSL/TLSで暗号化通信を行う場合、最初に、クライアントとサーバとの間で、ClientHelloメッセージ、ServerHelloメッセージの交換が行われる。これにより、クライアントとサーバとの間で通信プロトコルや暗号化通信に利用するCipher Suite(暗号スイート)の取り決めが行われる。
Cipher Suiteは、各種アルゴリズムのセットである。このアルゴリズムのセットには、以下の情報が含まれる。すなわち、「暗号化通信プロトコル名」、「鍵交換アルゴリズム」、「サーバ認証アルゴリズム」、「暗号化アルゴリズム」および「MAC(Message Authentication Code)の計算に利用するハッシュアルゴリズム」が含まれる。
すなわち、Cipher Suiteの構成は、"暗号化通信プロトコル名_鍵交換アルゴリズム_サーバ認証アルゴリズム_with_暗号化アルゴリズム_MACの計算に利用するハッシュアルゴリズム"のようになる。
例えば、TLS_DHE_RSA_WITH_AES_256_CBC_SHA(Cipher Suite)は、以下のことを表す。まず、暗号化通信プロトコルにTLSが利用される。鍵交換アルゴリズムにDHE(Diffie Hellman Ephemeral)が利用される。サーバ認証アルゴリズムにRSAが利用される。
暗号化通信アルゴリズムにAES(256ビット、CBCモード)が利用される。MACの計算に利用するハッシュアルゴリズムにSHA1が利用される。
情報処理装置の間でSSL/TLSによる暗号化通信を行うには、クライアントとサーバの双方が同じCipher Suiteをサポートしている必要がある。このことから、暗号化通信を行う情報機器の多くは、複数のCipher Suiteをサポートすることで接続性を確保する。
一方で、計算機の性能の向上や、アルゴリズムの弱点の発見や、数学的進歩等の理由により、時間の経過とともに、これらの各種アルゴリズムの安全性は低下し、いずれは必要な安全性が確保できなくなる虞(危殆化の虞)がある。
アルゴリズムの安全性に関しては、例えばNIST(National Institute of Standards and Technology)が、非特許文献1において、米国連邦政府で利用する暗号アルゴリズムのガイドラインを定めている。NISTの策定は大きな影響力を持つ。したがって、NISTの定めたガイドラインは事実上、米国連邦政府だけでなく多くのベンダーやユーザも参照するガイドラインとなっている。
非特許文献1に記載されているように、各種アルゴリズム毎または鍵長(サイズ)毎に、それぞれ安全性を確保できるとされる期間が存在する。その期間を過ぎて当該アルゴリズムや当該鍵長(サイズ)の鍵を利用し続けることは、情報漏洩などのセキュリティ上のリスクに繋がる。そのため、例えば政府系機関など、特に機密性の高い情報を扱う環境においては、接続性よりも安全性が重視される。したがって、SSL/TLSによる暗号化通信の際は、非特許文献1において安全とされるアルゴリズムのみが利用されることを望む場合がある。
また、SSL/TLSは、図1に示すように、ハンドシェイク(Handshake)プロトコルと、レコード(Record)プロトコルとを有する。尚、以下の説明では、ハンドシェイクプロトコルを、必要に応じてHandshakeと略称する。また、レコードプロトコルを、必要に応じてRecordと略称する。
Handshakeでは、サーバ(Server)とクライアント(Client)とのそれぞれで、通信相手の認証と、鍵交換による共通鍵の共有とが行われる。Recordでは、Handshakeによりサーバとクライアントとで共有された共通鍵を利用した暗号化通信が行われる。
ここで、図2を用いて、Handshakeについてより詳細に説明する。
Handshakeでは、まず、クライアントがサーバに対し、接続要求としてClientHelloメッセージを送信する。ClientHelloメッセージには、クライアントが対応しているプロトコルバージョンやCipher Suiteの一覧の情報などが含まれる。また、Signature Algorithms extensionというオプション情報をClientHelloメッセージに含めることでクライアントが利用可能なハッシュアルゴリズム一覧をサーバに通知することも可能である。
サーバは、ClientHelloメッセージの情報から、利用するプロトコルバージョンやCipher Suiteを、例えば、サーバのCipher Suiteの優先順位に基づいて決定する。そしてサーバは、クライアントに対し、ServerHelloメッセージを送信する。ServerHelloメッセージには、サーバが決定したプロトコルバージョンやCipher Suiteの情報などが含まれる。
次に、サーバは、クライアントに対し、Certificateメッセージを送信する。Certificateメッセージには、X.509形式のサーバ証明書が含まれる。X.509形式のサーバ証明書には、例えば、図3に示す情報が含まれる。その後、前記のようにして決定したCipher Suiteによる鍵交換の方法によっては、サーバは、クライアントに対し、ServerKeyExchangeメッセージ(ハンドシェイクの際にサーバの署名つきのメッセージ)を送信する場合がある。このようなCipher Suiteでは、サーバとクライアントの双方が生成したパラメータから暗号鍵が生成される。
具体的には鍵交換アルゴリズムとしてDHE(Diffie Hellman Ephemeral)やECDHE(Elliptic Curve Diffie Hellman Ephemeral)などが利用される場合が該当する。一方、鍵交換アルゴリズムとして例えばRSAが利用される場合、ServerKeyExchangeメッセージは送信されることはない。
ServerKeyExchangeメッセージには、鍵交換のためのパラメータと、そのパラメータに対する署名などの情報が含まれる。このように、ServerKeyExchangeメッセージは、サーバの署名付きのメッセージである。
次に、サーバは、クライアントに対し、ServerHelloDoneを送信することで、サーバの一連の処理の終了をクライアントに通知する。
次に、クライアントは、ClientKeyExchangeメッセージをサーバに送信する。ClientKeyExchangeメッセージには、クライアントとサーバとで共有する暗号鍵の基となる情報が含まれる。
続けて、クライアントは、ChangeCipherSpecメッセージをサーバに送信する。これにより、クライアントは、以降の通信に使用されるデータは、取り決めたCipher Suiteによって暗号化されることをサーバに通知する。その後、クライアントは、Finishedメッセージをサーバに送信する。Finishedメッセージには、これまでの全てのメッセージが改ざんされていないことを確認するためのMAC値が含まれる。
その後、サーバは、クライアントに対し、ChangeCipherSpecメッセージ、Finishedメッセージをこの順で送信する。
以上でHandshakeが完了する。
特許文献1に記載の技術のように、ポリシーによる制限の対象を、暗号化に利用されるアルゴリズムだけにすると、ポリシーは、Recordにおける暗号化の安全性に関する強度にしか影響せず、Handshakeには影響しない。つまり、Cipher Suiteを構成する前述した4つのアルゴリズムのうち、制限の対象となるのは、暗号化アルゴリズムだけである。尚、前述した4つのアルゴリズムは、「サーバ認証アルゴリズム」、「鍵交換アルゴリズム」、「暗号化アルゴリズム」および「MACの計算に利用するハッシュアルゴリズム」である。
更に、仮に、Cipher Suiteを構成する個々のアルゴリズムを所定の安全性を満たすものに制限した場合であっても、以下の課題がある。すなわち、HandshakeにおけるServerKeyExchangeメッセージにおける署名に利用されるハッシュアルゴリズムを制御することはできない。その結果、弱いハッシュアルゴリズム(例えば、SHA1やMD5)が利用されてしまうという課題がある。ここで、本明細書では、非特許文献1で安全とされない、もしくは、非特許文献1に記載のないアルゴリズムを、弱い暗号(アルゴリズム)とする。尚、非特許文献1では、2010年以降は、SHA1を署名に利用することは安全ではないとされている。また、MD5については非特許文献1に記載がない。
そこで、以下では、SSL/TLSによる暗号化通信を行う場合を例に挙げて、ハンドシェイクの際に、弱いハッシュアルゴリズムが利用されないようにするための実施形態を、図面を用いて説明する。
(第1の実施形態)
まず、第1の実施形態を説明する。本実施形態では、SSL/TLSによる暗号化通信を行うサーバが、受信したClientHelloメッセージの情報によってCipher Suiteで利用する鍵交換の方法を制御する。これにより、SSL/TLSによる暗号化通信において弱いハッシュアルゴリズムの利用を防ぐことが可能となる。暗号化通信を行うサーバとなる情報処理装置は、例えば、複合機等の画像処理装置である。
図4は、暗号化通信を行うネットワーク構成の一例を示す図である。
複合機401とPC(Personal Computer)402は、ネットワーク403を介して相互に通信可能に接続される。複合機401は、サーバとしてPC402からのアクセス要求を受け付ける。アクセス要求は、例えば、Remote UI画面へのアクセス要求である。PC402からのアクセス要求があった場合、通信路を流れる情報(例えばログインのためのパスワードなどの認証情報)は、SSL/TLSによって暗号化される。
尚、本実施形態では、ネットワーク403を介して複合機401に通信可能に接続されるPC402が1台の場合の例を示す。しかしながら、複合機401およびPC402の数は、それぞれ1台に限定されない。
図5は、複合機401のハードウェアの構成の一例を示す図である。
ネットワークI/F(Interface)501は、ネットワーク403を介してPC402などの外部装置と通信を行うためのものである。
UI(User Interface)操作部502は、複合機401に対するユーザによる操作の受け付けや、各種情報の表示を行う。尚、ユーザには、例えば、管理者とその他の一般ユーザが含まれる。
CPU(Central Processing Unit)503は、プログラムコードを実行し、複合機401全体の制御を行う。
RAM(Random Access Memory)504は、CPU503が各種情報を処理するために一時的にデータを格納する。CPU503が実行するプログラムコードや画像データなどがRAM504に格納される。
記憶装置505は、プログラムコード、画像データ、設定値、および暗号化鍵など、各種情報を保存する。
スキャナエンジン506は、用紙媒体に印刷された画像を光学的に読み取る。
印刷エンジン507は、電子写真技術やインクジェット技術などの既知の技術を用いて、画像データを用紙媒体に印刷する。
図6は、複合機401のソフトウェアの構成の一例を示す図である。特に断りのない限り、図6に示す各処理部は、記憶装置505に記憶された制御プログラムである。これらの制御プログラムは、CPU503によって実行される。
画面制御部601は。UI操作部502を制御する。具体的に画面制御部601は、UI操作部502への各種情報の表示や、UI操作部502に対するユーザからの操作要求の受け付けなどを行う。
暗号化通信部602は、ネットワークI/F501を介して、外部装置と暗号化通信を行う。
暗号処理部603は、各種の暗号関連処理を行う。暗号関連処理には、データの暗号化・復号、ハッシュ値の生成、MACの生成、および署名・検証などが含まれる。
設定値管理部604は、記憶装置505に格納されている設定値を変更する。この設定値の変更は、画面制御部601より管理者が、弱い暗号(弱いアルゴリズム)の利用を禁止するか否かの設定の変更を、設定画面を用いて行った際に実行される。図7は、設定画面700の一例を示す図である。管理者が、UI操作部502に対して所定の操作を行うと、画面制御部601は、設定画面700を表示する。
設定画面700は、所定の暗号強度の暗号化通信を禁止するためのGUI(Graphic User Interface)である。管理者がONボタン701を押下した上でOKボタン702を押下すると、設定値管理部604は、前記設定値を、弱い暗号(弱いアルゴリズム)の利用を禁止する設定を有効にすることを示す値にする。一方、管理者がOFFボタン703を押下した上でOKボタン702を押下すると、設定値管理部604は、前記設定値を、弱い暗号の利用を禁止する設定を無効にすることを示す値にする。尚、OKボタン702が押下されると、画面制御部601は、設定画面700の表示を消す。また、管理者がキャンセルボタン704を押下した場合にも、画面制御部601は、設定画面700の表示を消す。この場合、設定値管理部604は、設定画面700に対する操作の内容に関わらず、前記設定値を変更しない。
暗号制御部606は、暗号化通信部602が暗号化通信を行う際に、設定値管理部604により管理される前記設定値を確認する。その結果、弱い暗号の利用を禁止する設定が有効である場合、暗号制御部606は、暗号化通信部602が利用してもよいCipher Suite(所定の条件を満たすアルゴリズムのセット)を制御する。
証明書管理部607は、暗号化通信部602がサーバ認証に利用するX.509形式のサーバ証明書(公開鍵証明書)や、対となる秘密鍵、プレインストールされているCA証明書などを記憶装置505に格納し管理する。以下の説明では、サーバ証明書(公開鍵証明書)を必要に応じて証明書と略称する。
証明書処理部609は、証明書関連処理を行う。証明書管理処理には、証明書の解析・生成、必要な情報の抽出、および有効性検証などが含まれる。
以下、図8のフローチャートを用いて、複合機401の処理の一例を説明する。ここでは、弱い暗号の利用を禁止するポリシーが複合機401に適用されている際に、次の制御を行う場合を説明する。すなわち、SSL/TLSによる暗号化通信で利用するCipher Suiteを制限し、ServerKeyExchangeで弱いハッシュが利用されることを禁止するための制御を説明する。尚、図8に記載のフローチャートは、例えば、記憶装置505に格納された制御プログラムをCPU503が実行することによって実現される。
まず、ステップS801において、暗号化通信部602は、ネットワークI/F501を介して、ClientHelloメッセージを受信するまで待機する。以下の説明では、ClientHelloメッセージを、必要に応じてClientHelloと略称する。ClientHelloを受信すると、暗号化通信部602は、暗号化通信に利用してもよいCipher Suiteを暗号制御部606に問い合わせる。
次に、ステップS802において、暗号制御部606は、設定値管理部604により管理されている前記設定値を参照することで、弱い暗号の利用を禁止する設定が有効であるか否かを判定する。
この判定の結果、弱い暗号の利用を禁止する設定が有効でない場合には、ステップS803を省略して後述するステップS804に進む。この場合、暗号制御部606はCipher Suiteを制限しない。
一方、弱い暗号の利用を禁止する設定が有効である場合には、ステップS803に進む。ステップS803に進むと、暗号制御部606は、禁止処理を行う。本実施形態では、暗号制御部606は、SSL/TLSによる暗号化通信に利用可能なCipher Suiteを制限する処理を行う。そして、ステップS804に進む。
ステップS804に進むと、暗号制御部606は、利用が許可されているCipher Suiteを取得する。
次に、ステップS805において、暗号制御部606は、複合機401に設定されているCipher Suiteの優先度順において、優先度の最も高いCipher Suiteを選択する。
次に、ステップS806において、暗号化通信部602は、ステップS805で選択されたCipher Suiteを用いて、SSL/TLSによる暗号化通信を実行する。
次に、図8のステップS803の処理(Cipher Suiteを禁止する処理)の一例を、図9〜図11のフローチャートを用いて説明する。
図9のステップS901において、暗号制御部606は、ステップS801で受信したClientHelloにSignature Algorithms extensionが含まれているか否かを判定する。この判定の結果、Signature Algorithms extensionが含まれていない場合には、ステップS902に進む。尚、この場合には、PC402の証明書に対する署名に利用可能なハッシュアルゴリズムが提示されていない。
ステップS902に進むと、暗号制御部606は、判定処理を行う。本実施形態では、暗号制御部606は、暗号化通信部602がサポートしている個々のCipher Suiteが、ServerKeyExchangeメッセージが必要なCipher Suiteであるか否かを判定する。尚、以下の説明では、ServerKeyExchangeメッセージを必要に応じてServerKeyExchangeと略称する。
ServerKeyExchangeの必要性の有無は、例えば、Cipher Suiteに含まれる、サーバ認証アルゴリズムの名称および鍵交換アルゴリズムの名称を判別することで判定される。ステップS902の処理の具体例を、図10を用いて説明する。
ステップS1001において、暗号制御部606は、チェック対象のCipher Suiteに含まれるサーバ認証アルゴリズムがanon(anonymous)であるか否かを判定する。この判定の結果、サーバ認証アルゴリズムがanonである場合には、チェック対象のCipher Suiteは、ServerKeyExchangeが必要なCipher Suiteである。したがって、ステップS1004に進み、暗号制御部606は、チェック対象のCipher Suiteの利用を禁止する。そして、図9のステップS902に進む。
一方、サーバ認証アルゴリズムがanonでない場合には、ステップS1002に進む。ステップS1002に進むと、暗号制御部606は、チェック対象のCipher Suiteに含まれる鍵交換アルゴリズムが、DHE(Diffie Hellman Ephemeral)であるか否かを判定する。この判定の結果、鍵交換アルゴリズムがDHEである場合には、チェック対象のCipher Suiteは、ServerKeyExchangeが必要なCipher Suiteである。したがって、ステップS1004に進み、暗号制御部606は、チェック対象のCipher Suiteの利用を禁止する。そして、図9のステップS902に進む。
一方、鍵交換アルゴリズムがDHEでない場合は、ステップS1003に進む。ステップS1003に進むと、暗号制御部606は、チェック対象のCipher Suiteに含まれる鍵交換アルゴリズムがECDHE(Elliptic Curve Diffie Hellman Ephemeral)であるか否かを判定する。この判定の結果、鍵交換アルゴリズムがECDHEである場合には、チェック対象のCipher Suiteは、ServerKeyExchangeが必要なCipher Suiteである。したがって、ステップS1004に進み、暗号制御部606は、チェック対象のCipher Suiteの利用を禁止する。そして、図9のステップS902に進む。
一方、ステップS1003において、鍵交換アルゴリズムがECDHEでないと判定された場合には、図9のステップS902に進む。この場合、鍵交換アルゴリズムとサーバ認証アルゴリズムとが同じ(例えばRSA)であるので、ServerKeyExchangeは必要にならない。
図9の説明に戻り、以上のようにして、チェック対象のCipher Suiteが、ServerKeyExchangeが必要なCipher Suiteであるか否かがステップS902で判定されると、ステップS903に進む。
ステップS903に進むと、暗号制御部606は、ステップS902において、チェック対象のCipher Suiteの利用を禁止すると判定されたか否かを判定する。この判定の結果、チェック対象のCipher Suiteの利用を禁止すると判定された場合には、ステップS904を省略して、後述するステップS905に進む。
一方、チェック対象のCipher Suiteの利用を禁止すると判定されなかった場合、ステップS904に進む。すなわち、チェック対象のCipher SuiteがServerKeyExchangeを必要としないCipher Suiteである場合、ステップS904に進む。ステップS904に進むと、暗号制御部606は、判定処理を行う。本実施形態では、暗号制御部606は、チェック対象のCipher Suiteの安全性を更に判定する。
ステップS904の安全性の判定は、暗号化通信部602がサポートするCipher Suiteを構成する個々のアルゴリズムが弱いアルゴリズムであるか否かを確認することで行われる。ステップS904の処理の具体例を、図11を用いて説明する。
ステップS1101において、暗号制御部606は、サーバ証明書の署名に利用されるハッシュアルゴリズムがSHA2(Secure Hash Algorithm2)であるか否かを判定する。
この判定の結果、ハッシュアルゴリズムがSHA2でない場合には、ステップS1112に進む。ステップS1112に進むと、暗号制御部606は、チェック対象のCipher Suiteの利用を禁止する。そして、図9のステップS905に進む。
一方、チェックした結果がSHA2である場合には、ステップS1102に進む。ステップS1102に進むと、暗号制御部606は、サーバ証明書の公開鍵アルゴリズムが、ECDSA(Elliptic Curve Digital Signature Algorithm)であるか否かを判定する。
この判定の結果、サーバ証明書の公開鍵アルゴリズムが、ECDSAである場合には、ステップS1103に進む。ステップS1103に進むと、暗号制御部606は、サーバ証明書における公開鍵の鍵長(サイズ)が224bit以上であるか否かを判定する。この判定の結果、公開鍵の鍵長(サイズ)が224bit以上でない場合には、ステップS1112に進む。ステップS1112に進むと、暗号制御部606は、チェック対象のCipher Suiteの利用を禁止する。そして、図9のステップS905に進む。
一方、公開鍵の鍵長(サイズ)が224bit以上である場合には、後述するステップS1105に進む。
ステップS1102において、サーバ証明書の公開鍵アルゴリズムが、ECDSAでない(つまりDSA(Digital Signature Algorithm)もしくはRSAである)と判定された場合には、ステップS1104に進む。ステップS1104に進むと、暗号制御部606は、サーバ証明書における公開鍵の鍵長(サイズ)が2048bit以上であるか否かを判定する。この判定の結果、サーバ証明書における公開鍵の鍵長(サイズ)が2048bit以上でない場合には、ステップS1112に進む。ステップS1112に進むと、暗号制御部606は、チェック対象のCipher Suiteの利用を禁止する。そして、図9のステップS905に進む。
一方、サーバ証明書における公開鍵の鍵長(サイズ)が2048bit以上である場合には、ステップS1105に進む。
尚、ステップS1101〜S1104の判定は、例えば、証明書処理部609が、チェック対象のCipher Suiteのサーバ証明書のSignatureAlgorithmフィールドを確認した結果に基づいて行われる。
ステップS1105に進むと、暗号制御部606は、チェック対象のCipher Suiteに含まれる鍵交換アルゴリズムがECDH(Elliptic Curve Diffie Hellman)であるか否かを判定する。
この判定の結果、鍵交換アルゴリズムがECDHである場合には、ステップS1106に進む。ステップS1106に進むと、暗号制御部606は、鍵交換アルゴリズムで利用される公開鍵の鍵長(サイズ)が224bit以上であるか否かを判定する。この判定の結果、鍵交換アルゴリズムで利用される公開鍵の鍵長(サイズ)が224bit以上でない場合には、ステップS1112に進む。ステップS1112に進むと、暗号制御部606は、チェック対象のCipher Suiteの利用を禁止する。そして、図9のステップS905に進む。
一方、鍵交換アルゴリズムで利用される公開鍵の鍵長(サイズ)が224bit以上である場合には、後述するステップS1108に進む。
ステップS1105において、鍵交換アルゴリズムがECDHでない(つまりDHである)と判定された場合には、ステップS1107に進む。ステップS1107に進むと、暗号制御部606は、鍵交換アルゴリズムで利用される公開鍵の鍵長(サイズ)が2048bit以上であるか否かを判定する。この判定の結果、鍵交換アルゴリズムで利用される公開鍵の鍵長(サイズ)が2048bit以上でない場合には、ステップS1112に進む。ステップS1112に進むと、暗号制御部606は、チェック対象のCipher Suiteの利用を禁止する。そして、図9のステップS905に進む。
一方、鍵交換アルゴリズムで利用される公開鍵の鍵長(サイズ)が2048bit以上である場合には、ステップS1108に進む。
ステップS1108に進むと、暗号制御部606は、チェック対象のCipher Suiteに含まれる暗号化アルゴリズムがAES(Advanced Encryption Standard)であるか否かを判定する。この判定の結果、暗号化アルゴリズムがAESである場合には、後述するステップS1110に進む。
一方、暗号化アルゴリズムがAESでない場合には、ステップS1109に進む。ステップS1109に進むと、暗号制御部606は、チェック対象のCipher Suiteに含まれる暗号化アルゴリズムが3TDES(3key Triple Data Encryption Standard)であるか否かを判定する。この判定の結果、暗号化アルゴリズムが3TDESでない場合には、ステップS1112に進む。ステップS1112に進むと、暗号制御部606は、チェック対象のCipher Suiteの利用を禁止する。そして、図9のステップS905に進む。
一方、暗号化アルゴリズムが3TDESである場合には、ステップS1110に進む。ステップS1110に進むと、暗号制御部606は、チェック対象のCipher Suiteに含まれる、MACの計算に利用するハッシュアルゴリズムがSHA1であるか否かを判定する。この判定の結果、MACの計算に利用するハッシュアルゴリズムがSHA1である場合には、図9のステップS905に進む。
一方、MACの計算に利用するハッシュアルゴリズムがSHA1でない場合には、ステップS1111に進む。ステップS1111に進むと、暗号制御部606は、チェック対象のCipher Suiteに含まれるMACの計算に利用するハッシュアルゴリズムがSHA2であるか否かを判定する。この判定の結果、MACの計算に利用するハッシュアルゴリズムがSHA2である場合には、図9のステップS905に進む。
一方、MACの計算に利用するハッシュアルゴリズムがSHA2でない場合には、ステップS1112に進む。ステップS1112に進むと、暗号制御部606は、チェック対象のCipher Suiteの利用を禁止する。そして、図9のステップS905に進む。
図12(a)は、利用が禁止されるCipher Suiteの第1の例を示す。図12(a)において、「○」は、利用が可能なCipher Suiteであることを示す。一方、「×」は、利用が禁止されたCipher Suiteを示す。
以上のようにして、チェック対象のCipher Suiteについて、ステップS902もしくはステップS902、S904の両方による判定が終了すると、ステップS905に進む。ステップS905に進むと、暗号制御部606は、暗号化通信部602がサポートする全てのCipher Suiteに対して、ステップS901もしくはステップS901、903の両方による判定を完了したか否かを判定する。
この判定の結果、全てのCipher Suiteに対する判定が完了していない場合には、暗号化通信部602がサポートする全てのCipher Suiteに対して前述したステップS902〜S904の処理を実行する。ステップS901〜S903の処理を実行するCipher Suiteの順番としては、例えば、複合機401に設定されているCipher Suiteの優先度順が挙げられる。しかしながら、かかる順番は、これに限定されるものではない。そして、図8のステップS804に進む。
前述した図9のステップS901において、ステップS801で受信したClientHelloにSignature Algorithms extensionが含まれている場合には、ステップS906に進む。尚、この場合には、PC402の証明書に対する署名に利用可能なハッシュアルゴリズムが提示されている。ステップS906に進むと、暗号制御部606は、Signature Algorithms extensionにSHA2が含まれているか否かを判定する。
この判定の結果、SHA2が含まれていない場合は、ステップS901でSignature Algorithms extensionが含まれていないと判定された場合と同様に、前述したステップS902に進む。
一方、SHA2が含まれている場合は、ステップS907に進み、暗号制御部606は、判定処理を行う。ステップS907の処理は、前述したステップS904の処理と同じであるため、その詳細な説明を省略する。そして、ステップS908に進む。
図12(b)は、利用が禁止されるCipher Suiteの第2の例を示す。図12(b)において、「○」は、利用が可能なCipher Suiteであることを示す。一方、「×」は、利用が禁止されたCipher Suiteを示す。
ステップS908に進むと、暗号制御部606は、暗号化通信部602がサポートする全てのCipher Suiteに対して、ステップS907による判定を完了したか否かを判定する。
この判定の結果、全てのCipher Suiteに対する判定が完了していない場合には、暗号化通信部602がサポートする全てのCipher Suiteに対して前述したステップS907の処理を実行する。ステップS907の処理を実行するCipher Suiteの順番としては、例えば、複合機401に設定されているCipher Suiteの優先度順が挙げられる。しかしながら、かかる順番は、これに限定されるものではない。
図10〜図12に示すように、本実施形態では、サーバ(本実施形態では複合機401)の公開鍵を用いて暗号鍵を交換するCipher Suiteについては、利用が許可される。
以上のように本実施形態では、弱い暗号の利用を禁止する設定が複合機401に適用されている場合に、受信したClientHelloの情報によってCipherSuiteで利用する鍵交換方法を制御する。より、具体的には、ClientHelloにSHA2を含むSignature Algorithms extensionがある場合は、ServerKeyExchangeが必要となる鍵交換を許可する。一方、ClientHelloにSHA2を含むSignature Algorithms extensionがない場合は、ServerKeyExchangeが必要となる鍵交換を利用しないようにする。
これにより、SSL/TLSによるServerKeyExchangeにおいても、MD5やSHA1などの弱いハッシュアルゴリズムの利用を制御することが可能となる。
また、Cipher Suiteを構成する個々のアルゴリズムについても、暗号強度に基づく安全性に関する基準を満たすか否かをアルゴリズムごとに個別に判定する。したがって、暗号化通信の先立って行われるハンドシェイクの際に、安全でないハッシュアルゴリズムが利用されることを抑制することができる。よって、暗号化通信に利用される全てのアルゴリズムが所定の条件(安全性基準)を満たすもののみに限定することが可能となる。
本実施形態では、暗号化通信部602が、ClientHelloを受信した後に、弱い暗号の利用を禁止する設定を確認する(ステップS802)。この確認の結果、弱い暗号の利用を禁止する設定が有効である場合に、Cipher Suiteの利用を制限するための処理(ステップS803)を実行する。しかしながら、ステップS803を実行するタイミングはこれに限定されるものではない。例えば、複合機401の起動時に実行してもよい。また、ステップS803によって制限されるCipher Suiteを予め静的に管理してもよい。
また、本実施形態のように、ステップS902の処理で利用が禁止されないと判定されたCipher SuiteについてステップS904の処理を行うようにすれば、判定処理の数が多いステップS903を省略できる場合があるので好ましい。しかしながら、ステップS904の処理で利用が禁止されないと判定されたCipher Suiteについて、ステップS902の処理を行うようにしてもよい。
また、図11に示す例では、「サーバ認証アルゴリズム」、「鍵交換アルゴリズム」、「暗号化アルゴリズム」、「MACの計算に利用するハッシュアルゴリズム」の順番で、Cipher Suiteを構成するアルゴリズムを選択した。しかしながら、アルゴリズムを選択する順番は、図11に示す順番に限定されない。
(第2の実施形態)
以上のように、第1の実施形態では、SSL/TLS(SSLまたはTLS)を利用した場合に、弱いハッシュアルゴリズムが署名に利用されることを抑制する場合を例に挙げて説明した。ところで、SSLを利用した場合、非特許文献1に記載されていないMACアルゴリズムが利用されてしまうという場合がある。具体的には、Fininshedメッセージで利用されるMACアルゴリズムにおいて、TLSではHMACが利用されるのに対し、SSLでは、HMACではないアルゴリズムが利用される。ここで、HMACではないアルゴリズムは、HMACと厳密には計算方法が異なるアルゴリズムであって、非特許文献1に未記載のアルゴリズムをいう。尚、以下の説明では、Fininshedメッセージを、必要に応じてFinishedと略称する。
そこで、本実施形態では、暗号化通信において、非特許文献1に記載されていないMACアルゴリズムが利用されないための制御を行う場合を例に挙げて説明する。このように本実施形態は、第1の実施形態に対し、SSLの利用を制限するための処理が追加されたものである。したがって、本実施形態の説明において、第1の実施形態と同一の部分については、図1〜図12に付した符号と同一の符号を付す等して、詳細な説明を省略する。
図13は、複合機401の処理の一例を説明するフローチャートである。
ステップS1301、S1302の処理は、それぞれ、第1の実施形態で説明した図8のステップS801、S802の処理と同じであるため、その詳細な説明を省略する。
ステップS1302の判定の結果、弱い暗号の利用を禁止する設定が有効でない場合には、ステップS1308に進む。ステップS1308に進むと、暗号制御部606は、複合機401に設定されているCipher Suiteの優先度順において、優先度の最も高いCipher Suiteを選択し、ステップS1306に進む。ステップS1306に進むと、暗号化通信部602は、SSL/TLSによる暗号化通信を実行する。この場合には、SSLを使用することができる。また、Cipher Suiteは制限されない。
一方、ステップS1302の判定の結果、弱い暗号の利用を禁止する設定が有効である場合には、ステップS1303に進む。ステップS1303に進むと、暗号制御部606は、プロトコル禁止処理を行う。本実施形態では、暗号制御部606は、SSL自体の利用を禁止する。
次に、ステップS1304において、暗号制御部606は、禁止処理を行う。本実施形態では、暗号制御部606は、TLSによる暗号化通信に利用可能なCipher Suiteを禁止する処理を行う。ステップS1304の処理は、第1の実施形態で説明した図8のステップS803(図9〜図11)の処理と同じであるため、その詳細な説明を省略する。
次に、ステップS1305において、暗号制御部606は、利用が許可されているCipher Suiteを取得する。
次に、ステップS1306において、暗号制御部606は、複合機401に設定されているCipher Suiteの優先度順において、優先度の最も高いCipher Suiteを選択する。
次に、ステップS1307において、暗号化通信部602は、ステップS1306で選択されたCipher Suiteを用いて、TLSによる暗号化通信を実行する。
以上のように本実施形態では、弱い暗号の利用を禁止する設定が複合機401に適用されている場合に、SSLの利用を禁止し、その後、TLSによる暗号化通信で利用するCipher Suiteを制限する。したがって、第1の実施形態で説明した効果に加え、Fininshedメッセージで利用されるMACアルゴリズムとして、非特許文献1に未記載の弱いアルゴリズムが利用されることを抑制するという効果が得られる。
本実施形態においても、第1の実施形態で説明した変形例を適用することができる。例えば、本実施形態では、暗号化通信部602が、ネットワークI/F501を介して、ClientHelloを受信した後に、弱い暗号の利用を禁止する設定を確認する(ステップS1302)。この確認の結果、弱い暗号の利用を禁止する設定が有効である場合に、SSLの利用の禁止と、Cipher Suiteの利用の制限を行うための処理(ステップS1303、S1304)を実行する。しかしながら、ステップS1303、S1304を実行するタイミングはこれに限定されるものではない。例えば、複合機401の起動時に実行してもよい。また、ステップS1304によって制限されるTLSのCipher Suiteを予め静的に管理してもよい。
また、本実施形態のように、図13のステップS1303において、SSLの利用を禁止した上で、ステップS1304において、TLSのみのCipher Suiteの利用を制限する処理を行うようにすれば、計算の負荷を低減できるので好ましい。しかしながら、例えば、ステップS1303とステップS1304の順番を逆にしてもよい。この場合、ステップS1304では、SSLとTLSの双方のCipher Suiteについての利用を制限する処理を行うことになる。
(第3の実施形態)
第1の実施形態では、SSL/TLSによる暗号化通信を行うサーバが複合機401であり、複合機401が、受信したClientHelloの情報に応じて、Cipher Suiteで利用する鍵交換の方法を制御する場合を例に挙げて説明した。これに対し、本実施形態では、複合機401がクライアントの場合の制御について説明する。このように本実施形態と第1の実施形態とは、複合機401がクライアントであることによる構成及び処理が主として異なる。したがって、本実施形態の説明において、第1の実施形態と同一の部分については、図1〜図12に付した符号と同一の符号を付す等して、詳細な説明を省略する。
以下、図14のフローチャートを用いて、複合機401がクライアントの場合の制御の一例を説明する。
まず、ステップS1401において、暗号化通信部602は、ネットワークI/F501を介して、ClientHelloメッセージを送信するタイミングになるまで待機する。
次に、ステップS1402において、暗号制御部606は、設定値管理部604により管理されている前記設定値を参照することで、弱い暗号の利用を禁止する設定が有効であるか否かを判定する。
この判定の結果、弱い暗号の利用を禁止する設定が有効でない場合には、ステップS1407に進む。この場合、暗号制御部606はCipher Suiteや暗号化通信プロトコルを制限しない。そして、ステップS1407において、暗号化通信部602は、SSL/TLSによる暗号化通信を実行する。
一方、弱い暗号の利用を禁止する設定が有効である場合には、ステップS1403に進む。ステップS1403に進むと、暗号制御部606は、SHA2のみを利用可とするSignature Algorithms extensionをClientHelloメッセージに設定する。そして、ステップS1404において、暗号制御部606は、Cipher Suiteの利用を制限する処理を行う。
ここで、ステップS1404の処理(Cipher Suiteの利用を制限する処理)の一例を、図15のフローチャートを用いて説明する。
図15のステップS1501において、暗号制御部606は、チェック対象のCipher Suiteに含まれる暗号化アルゴリズムがAESであるか否かを判定する。この判定の結果、暗号化アルゴリズムがAESである場合には、後述するステップS1503に進む。
一方、暗号化アルゴリズムがAESでない場合には、ステップS1502に進む。ステップS1502に進むと、暗号制御部606は、チェック対象のCipher Suiteに含まれる暗号化アルゴリズムが3TDESであるか否かを判定する。この判定の結果、暗号化アルゴリズムが3TDESでない場合にはステップS1505に進む。ステップS1505に進むと、暗号制御部606はチェック対象のCipher Suiteの利用を禁止する。
一方、暗号化アルゴリズムが3TDESである場合には、ステップS1503に進む。
ステップS1503に進むと、暗号制御部606は、チェック対象のCipher Suiteに含まれるMACの計算に利用するハッシュアルゴリズムがSHA1であるか否かを判定する。この判定の結果、MACの計算に利用するハッシュアルゴリズムがSHA1である場合にはステップS1506に進む。
一方、MACの計算に利用するハッシュアルゴリズムがSHA1でない場合には、ステップS1504に進む。ステップS1504に進むと、暗号制御部606は、チェック対象のCipher Suiteに含まれるMACの計算に利用するハッシュアルゴリズムがSHA2であるか否かを判定する。この判定の結果、MACの計算に利用するハッシュアルゴリズムがSHA2である場合にはステップS1506に進む。
一方、MACの計算に利用するハッシュアルゴリズムがSHA2でない場合には、ステップS1505に進む。ステップS1505に進むと、暗号制御部606は、チェック対象のCipher Suiteの利用を禁止しステップS1506に進む。
ステップS1506では、暗号制御部606は、暗号化通信部602がサポートする全てのCipher Suiteに対して、暗号化アルゴリズムの判定と、MACに利用するハッシュアルゴリズムの判定を終了したか否かを判定する。尚、暗号化アルゴリズムの判定は、ステップS1501、S1502による判定であり、MACに利用するハッシュアルゴリズムの判定は、ステップS1503、S1504による判定である。
この判定の結果、全てのCipher Suiteに対する判定が終了していない場合には、全てのCipher Suiteに対して前述したステップS1501〜S1505の処理を実行する。処理を実行するCipher Suiteの順番としては、例えば、複合機401に設定されているCipher Suiteの優先度順が挙げられる。しかしながら、かかる順番はこれに限定されるものではない。
以上のようにして図15のフローチャートによる処理(ステップS1404の処理)が終了すると、ステップS1405に進む。ステップS1405に進むと、暗号化通信部602は、ステップ1404でのCipher Suiteの利用の制限を受けなかった(つまり利用の許可がされている)Cipher Suiteを取得する。
その後、ステップS1406において、暗号化通信部602は、TLSによる暗号化通信を実行する。
以上のように本実施形態では、弱い暗号の利用を禁止する設定がクライアントである複合機401に適用されている場合について説明した。複合機401は、クライアントとして暗号化通信を行う際には、SHA2のみを利用可能とするSingature Algorithms extensionをClient Helloメッセージに設定する。これにより、ServerKeyExchangeを必要とする鍵交換であっても、強いハッシュアルゴリズムを利用して暗号化通信を行うことが可能となる。
本実施形態においても、第1の実施形態で説明した変形例を適用することができる。
尚、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
(その他の実施形態)
本発明は、前述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
401:複合機、402:PC、403:ネットワーク

Claims (18)

  1. 特定の暗号化通信プロトコルに従って外部装置と暗号化通信を行う情報処理装置であって、
    前記暗号化通信プロトコルで使用される複数のアルゴリズムのセットのうち、所定の条件を満たさないアルゴリズムのセットの利用を禁止する禁止手段を有し、
    前記禁止手段により利用が禁止されるアルゴリズムのセットは、前記暗号化通信に先立って前記外部装置との間で行われるハンドシェイクの際に、前記情報処理装置の署名付きのメッセージを、前記外部装置に送信する必要があるアルゴリズムのセットであることを特徴とする情報処理装置。
  2. 前記暗号化通信プロトコルで使用されるアルゴリズムのセットが、前記利用が禁止されるアルゴリズムのセットであるか否かを、前記複数のアルゴリズムのセットのそれぞれについて判定する判定手段と、
    前記複数のアルゴリズムのセットのうち、前記禁止手段により利用が禁止されないアルゴリズムのセットを利用して、前記ハンドシェイクと前記暗号化通信とを行う通信手段と、
    を更に有することを特徴とする請求項1に記載の情報処理装置。
  3. 所定の暗号強度の暗号化通信を禁止する設定に従って、前記禁止手段により、前記暗号化通信プロトコルで使用される複数のアルゴリズムのセットのうち、所定の条件を満たさないアルゴリズムのセットの利用が禁止されることを特徴とする請求項2に記載の情報処理装置。
  4. 前記判定手段は、前記複数のアルゴリズムについて、ハンドシェイクの際に、サーバの署名つきのメッセージをサーバからクライアントに送信する必要があるアルゴリズムのセットであるか否かを判定することを特徴とする請求項2または3に記載の情報処理装置。
  5. 前記アルゴリズムのセットは、前記情報処理装置の認証のためのアルゴリズムと、前記外部装置との暗号鍵の交換のためのアルゴリズムとを含み、
    前記判定手段は、前記情報処理装置の認証のためのアルゴリズムの名称と、前記外部装置との暗号鍵の交換のためのアルゴリズムの名称とを判別した結果に基づいて、前記暗号化通信プロトコルで使用されるアルゴリズムのセットが、前記利用が禁止されるアルゴリズムのセットであるか否かを、前記複数のアルゴリズムのセットのそれぞれについて判定することを特徴とする請求項4に記載の情報処理装置。
  6. 前記判定手段は、さらに、前記複数のアルゴリズムについて、暗号強度に基づく安全性に関する基準を満たすか否かを判定することを、当該複数のアルゴリズムを順番に選択して行うことを特徴とする請求項2〜5の何れか1項に記載の情報処理装置。
  7. 前記アルゴリズムのセットは、前記情報処理装置の認証のためのアルゴリズムを含み、
    前記暗号強度に基づく安全性に関する基準は、前記情報処理装置の証明書に対する署名に利用されるハッシュアルゴリズムの安全性に関する基準と、前記情報処理装置の証明書における公開鍵の安全性に関する基準と、の少なくとも何れか1つを含むことを特徴とする請求項6に記載の情報処理装置。
  8. 前記暗号強度に基づく安全性に関する基準は、前記アルゴリズムのセットを構成するアルゴリズムで使用される暗号鍵のサイズに関する基準と、前記アルゴリズムのセットを構成するアルゴリズムの名称に関する基準と、の少なくとも何れか1つを含むことを特徴とする請求項6または7に記載の情報処理装置。
  9. 前記判定手段は、前記情報処理装置がサーバとして、クライアントである前記外部装置からの接続要求を受信すると、当該クライアントである前記外部装置から、前記情報処理装置の証明書に対する署名に利用可能なハッシュアルゴリズムが提示されたか否かを判定し、当該判定の結果、前記情報処理装置の証明書に対する署名に利用可能なハッシュアルゴリズムが提示されたと判定すると、前記暗号化通信プロトコルで使用されるアルゴリズムのセットが、前記利用が禁止されるアルゴリズムのセットであるか否かを、前記複数のアルゴリズムのセットのそれぞれについて判定しないことを特徴とする請求項2〜8の何れか1項に記載の情報処理装置。
  10. 前記判定手段は、前記クライアントである前記外部装置から、前記情報処理装置の証明書に対する署名に利用可能なハッシュアルゴリズムが提示されたと判定すると、前記提示されたハッシュアルゴリズムの中に所定の暗号強度を満たすハッシュアルゴリズムがあるか否かを判定し、当該判定の結果、所定の暗号強度を満たすハッシュアルゴリズムがあると判定すると、前記暗号化通信プロトコルで使用されるアルゴリズムのセットが、前記利用が禁止されるアルゴリズムのセットであるか否かを、前記複数のアルゴリズムのセットのそれぞれについて判定しないことを特徴とする請求項9に記載の情報処理装置。
  11. 前記判定手段は、所定の暗号強度を満たすハッシュアルゴリズムがないと判定すると、前記暗号化通信プロトコルで使用されるアルゴリズムのセットが、前記利用が禁止されるアルゴリズムのセットであるか否かを、前記複数のアルゴリズムのセットのそれぞれについて判定することを特徴とする請求項9または10に記載の情報処理装置。
  12. 前記判定手段は、前記情報処理装置がサーバとして、クライアントである前記外部装置からの接続要求を受信すると、当該クライアントである前記外部装置から、前記情報処理装置の証明書に対する署名に利用可能なハッシュアルゴリズムが提示されたか否かをさらに判定し、当該判定の結果、前記情報処理装置の証明書に対する署名に利用可能なハッシュアルゴリズムが提示されなかったと判定すると、前記暗号化通信プロトコルで使用されるアルゴリズムのセットが、前記利用が禁止されるアルゴリズムのセットであるか否かを、前記複数のアルゴリズムのセットのそれぞれについて判定することを特徴とする請求項2〜11の何れか1項に記載の情報処理装置。
  13. 前記利用が禁止されるアルゴリズムのセットは、ハンドシェイクの際にサーバの署名つきのメッセージをサーバからクライアントに送信する必要があるアルゴリズムのセットを含み、
    前記利用が許可されるアルゴリズムのセットは、ハンドシェイクの際にサーバの公開鍵を用いて暗号鍵を交換するアルゴリズムのセットを含むことを特徴とする請求項1〜12の何れか1項に記載の情報処理装置。
  14. 前記特定の暗号化通信プロトコルは、SSL(Secure Socket Layer)またはTLS(Transport Layer Security)であることを特徴とする請求項1〜13の何れか1項に記載の情報処理装置。
  15. 複数の前記特定の暗号化通信プロトコルのうち、予め定められているアルゴリズムを使用する暗号化通信プロトコルの利用を禁止するプロトコル禁止手段を更に有し、
    前記通信手段は、前記禁止手段と前記プロトコル禁止手段により利用が禁止されないアルゴリズムのセットを利用して、前記ハンドシェイクと前記暗号化通信とを行うことを特徴とする請求項2〜14の何れか1項に記載の情報処理装置。
  16. 前記判定手段は、複数の前記特定の暗号化通信プロトコルのうち、前記プロトコル禁止手段により利用が禁止されなかった暗号化通信プロトコルで使用される複数のアルゴリズムのセットが、前記利用が禁止されるアルゴリズムのセットであるか否かを、当該複数のアルゴリズムのセットのそれぞれについて判定することを特徴とする請求項15に記載の情報処理装置。
  17. 特定の暗号化通信プロトコルに従って情報処理装置と外部装置とにより暗号化通信を行う暗号化通信方法であって、
    前記暗号化通信プロトコルで使用される複数のアルゴリズムのセットのうち、所定の条件を満たさないアルゴリズムのセットの利用を禁止する禁止工程を有し、
    前記禁止工程により利用が禁止されるアルゴリズムのセットは、前記暗号化通信に先立って前記外部装置との間で行われるハンドシェイクの際に、前記情報処理装置の署名付きのメッセージを、前記外部装置に弱いハッシュアルゴリズムを用いて送信する必要があるアルゴリズムのセットであることを特徴とする暗号化通信方法。
  18. 請求項1〜16の何れか1項に記載の情報処理装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
JP2015002657A 2014-07-16 2015-01-08 情報処理装置、暗号化通信方法、およびプログラム Pending JP2016029787A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015002657A JP2016029787A (ja) 2014-07-16 2015-01-08 情報処理装置、暗号化通信方法、およびプログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014146030 2014-07-16
JP2014146030 2014-07-16
JP2015002657A JP2016029787A (ja) 2014-07-16 2015-01-08 情報処理装置、暗号化通信方法、およびプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020051239A Division JP7087015B2 (ja) 2014-07-16 2020-03-23 情報処理装置、暗号化通信方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2016029787A true JP2016029787A (ja) 2016-03-03

Family

ID=55075554

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015002657A Pending JP2016029787A (ja) 2014-07-16 2015-01-08 情報処理装置、暗号化通信方法、およびプログラム
JP2020051239A Active JP7087015B2 (ja) 2014-07-16 2020-03-23 情報処理装置、暗号化通信方法、およびプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2020051239A Active JP7087015B2 (ja) 2014-07-16 2020-03-23 情報処理装置、暗号化通信方法、およびプログラム

Country Status (2)

Country Link
US (2) US9807084B2 (ja)
JP (2) JP2016029787A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018110288A (ja) * 2016-12-28 2018-07-12 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
US10356256B2 (en) 2016-10-07 2019-07-16 Canon Kabushiki Kaisha Communication apparatus, control method for communication apparatus, and storage medium for changing a version of an encryption communication protocol used for communication
JP2020506485A (ja) * 2017-02-08 2020-02-27 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft 特に自動化システム、制御システムまたは監視システムにおける診断および設定に関連して、itシステムにおける制御通信とitシステムへのサービスアクセスを暗号化保護するための方法およびコンピュータ
JP2021502014A (ja) * 2017-11-03 2021-01-21 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 確立したセッション内で暗号および鍵を変更するための方法およびシステム(確立したセッション内での暗号および鍵の変更)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9923923B1 (en) * 2014-09-10 2018-03-20 Amazon Technologies, Inc. Secure transport channel using multiple cipher suites
US10567434B1 (en) 2014-09-10 2020-02-18 Amazon Technologies, Inc. Communication channel security enhancements
US10374800B1 (en) 2014-09-10 2019-08-06 Amazon Technologies, Inc. Cryptography algorithm hopping
JP6369554B2 (ja) * 2014-09-25 2018-08-08 日本電気株式会社 解析システム、解析方法、及び、解析プログラム
US10122689B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Load balancing with handshake offload
US9893883B1 (en) * 2015-06-26 2018-02-13 Juniper Networks, Inc. Decryption of secure sockets layer sessions having enabled perfect forward secrecy using a diffie-hellman key exchange
US10305871B2 (en) 2015-12-09 2019-05-28 Cloudflare, Inc. Dynamically serving digital certificates based on secure session properties
US11063758B1 (en) * 2016-11-01 2021-07-13 F5 Networks, Inc. Methods for facilitating cipher selection and devices thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011221893A (ja) * 2010-04-13 2011-11-04 Sony Corp 情報処理装置、情報処理方法およびプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9197599B1 (en) * 1997-09-26 2015-11-24 Verizon Patent And Licensing Inc. Integrated business system for web based telecommunications management
CN1172469C (zh) * 2001-12-13 2004-10-20 华为技术有限公司 一种自主选择加密算法实现保密通信的方法
JP4714482B2 (ja) * 2005-02-28 2011-06-29 株式会社日立製作所 暗号通信システムおよび方法
JP2009094676A (ja) 2007-10-05 2009-04-30 Kyocera Mita Corp 画像形成装置
JP5456015B2 (ja) 2011-12-28 2014-03-26 キヤノン株式会社 2次元コードを用いて出力を制御可能な装置、その制御方法、プログラム。
WO2014184938A1 (ja) * 2013-05-16 2014-11-20 富士通株式会社 端末装置、通信システム及び通信制御プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011221893A (ja) * 2010-04-13 2011-11-04 Sony Corp 情報処理装置、情報処理方法およびプログラム

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
"How to Disable Weak Ciphers and SSL 2.0 in Apache", [ONLINE], JPN6018038550, December 2010 (2010-12-01) *
DIERKS, T., RESCORLA, E.: "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, JPN6018038552, August 2008 (2008-08-01) *
LAURIE, B., LAURIE, P., APACHEハンドブック 第3版, JPN6018038554, 24 September 2003 (2003-09-24), pages p.1-5,286,287,295-301 *
POLK, T., MCKAY, K. AND CHOKHANI, S.: "Guidelines for the Selection, Configuration, and Use of Transport Layer Security (TLS) Implementatio", NIST SPECIAL PUBLICATION, vol. 800-52, Revision 1, JPN6018038553, April 2014 (2014-04-01) *
高野誠士,関良明,諏訪博彦: "個人ユーザ向けHTTPS暗号危殆化確認サービスの受容性評価", 電子情報通信学会論文誌, vol. 第J97-D巻 第5号, JPN6018038549, 1 May 2014 (2014-05-01), pages 975 - 983 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10356256B2 (en) 2016-10-07 2019-07-16 Canon Kabushiki Kaisha Communication apparatus, control method for communication apparatus, and storage medium for changing a version of an encryption communication protocol used for communication
JP2018110288A (ja) * 2016-12-28 2018-07-12 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
JP2020506485A (ja) * 2017-02-08 2020-02-27 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft 特に自動化システム、制御システムまたは監視システムにおける診断および設定に関連して、itシステムにおける制御通信とitシステムへのサービスアクセスを暗号化保護するための方法およびコンピュータ
US11095444B2 (en) 2017-02-08 2021-08-17 Siemens Aktiengesellschaft Method and computer for cryptographically protecting control communication in and/or service access to IT systems, in particular in connection with the diagnosis and configuration in an automation, control or supervisory system
JP6999682B2 (ja) 2017-02-08 2022-01-18 シーメンス アクチエンゲゼルシヤフト 特に自動化システム、制御システムまたは監視システムにおける診断および設定に関連して、itシステムにおける制御通信とitシステムへのサービスアクセスを暗号化保護するための方法およびコンピュータ
JP2021502014A (ja) * 2017-11-03 2021-01-21 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 確立したセッション内で暗号および鍵を変更するための方法およびシステム(確立したセッション内での暗号および鍵の変更)

Also Published As

Publication number Publication date
US10230716B2 (en) 2019-03-12
JP2020114002A (ja) 2020-07-27
US20180034807A1 (en) 2018-02-01
US20160021110A1 (en) 2016-01-21
US9807084B2 (en) 2017-10-31
JP7087015B2 (ja) 2022-06-20

Similar Documents

Publication Publication Date Title
JP7087015B2 (ja) 情報処理装置、暗号化通信方法、およびプログラム
EP2997693B1 (en) Secure session capability using public-key cryptography without access to the private key
TWI605383B (zh) 列印機與列印用戶端裝置之間的安全列印技術
JP5511463B2 (ja) 画像形成装置、画像処理システム、画像処理システムを制御する方法、およびプログラム
JP2016540462A (ja) 鍵コンフィギュレーション方法、システム、および装置
US9461822B2 (en) Image forming apparatus, control method, and storage medium
JP6066750B2 (ja) 画像形成装置及びその制御方法、並びにプログラム
JP2016181774A (ja) 画像形成装置
JP2007082208A (ja) 電子ドキュメントをセキュリティ面で安全にドメイン間で伝送するシステム、方法、およびプログラム
JP2006018399A (ja) 情報処理装置、情報処理方法およびプログラム
JP2013156757A (ja) ネットワークに接続する機器、機器の制御方法、及びプログラム
EP3588917B1 (en) Information processing apparatus, control method for information processing apparatus, and storage medium
JP6679867B2 (ja) 通信システム、通信装置、および、コンピュータプログラム
EP3588907A2 (en) Information processing apparatus, control method for information processing apparatus, and storage medium
JP6575275B2 (ja) サーバ装置、及び、サーバ装置を備える通信システム
JP2009071727A (ja) 画像入出力装置、画像処理システム、及び、画像処理制御方法
EP2887247B1 (en) Information processing apparatus, information processing method and program
CN109246156B (zh) 登录认证方法及装置、登录方法及装置以及登录认证系统
JP2017068835A (ja) 機器管理システム、機器管理方法、情報処理装置、画像形成装置及び情報処理プログラム
US10389913B2 (en) Information management control apparatus, image processing apparatus, and information management control system
JP6921530B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
JP5779987B2 (ja) 選択プログラム、画像処理装置、及び、コンピュータ
KR102446095B1 (ko) 인쇄 장치, 인쇄 장치의 제어 방법 및 저장 매체
US11924286B2 (en) Encrypted communication processing apparatus, encrypted communication processing system, and non-transitory recording medium
JP2013041538A (ja) 情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190712

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20191224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200323

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20200323

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200326

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20200331

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20200515

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20200519

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20201006

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20201222

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20210209

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20210209