シグネチャ 【signature】 シグニチャ
概要
シグネチャ(signature)とは、署名、サイン、特徴などの意味を持つ英単語。ITの分野では、手紙の署名のようにメッセージの末尾に付加される定型文を指すほか、いくつかの分野で、署名になぞらえられる機能やデータをシグネチャと呼ぶことがある。デジタル署名も英語では “digital signature” だが、この分野では「署名」という訳語を用い、シグネチャとカナ書きすることはほとんどない。セキュリティソフトなどのシグネチャ
アンチウイルスソフトやファイアウォール、IPS/IDSなどのセキュリティソフトでは、コンピュータウイルスなどに含まれる特徴的なデータ断片や、攻撃者のアクセスに特徴的な受信データのパターンなどをシグネチャという。
こうしたソフトは既知のマルウェアや侵入手法についてのシグネチャをデータベース化して大量に保管しており、ストレージ上のファイルや外部から受信したデータをこれと照合することにより危機を検知する。既知の攻撃を効率よく検知できるが、未知の手法や内容の偽装などには弱く、他の検知手法と併用されることもある。
プログラミングにおけるシグネチャ
プログラミングの分野では、関数やメソッドの名前、引数の数やデータ型、返り値の型などの組み合わせのことをシグネチャという。言語によっては、同じクラスなどの中で名前が同じだが引数の型などが異なるメソッドを複数同時に宣言することができる場合があり、それらはシグネチャによって識別される。
例えば、2つの引数の和を求めるメソッドを作りたいとき、通常は引数や返り値の型ごとに、整数用の int add_int(int x,int y)、浮動小数点用の float add_float(float x,float y)…といった具合に同じ機能のメソッドをそれぞれ用意して使い分けなければならない。
このような場合に、シグネチャによる識別が可能な言語では、すべて同じ add(x,y) メソッドとして多重に宣言すれば、呼び出し時に引数の型に応じて処理系が適切なものを選択して呼び分けてくれる。同じ関数名のものは同じ処理であることが明示することができ、コードの見通しも良くなる。
メールなどのシグネチャ
電子メールの本文や、SNSやブログ、電子掲示板(BBS)などへの投稿文の末尾に、名前(氏名または活動名)や所属、連絡先などを数行にまとめた定型文を挿入することがあり、これを「シグネチャ」あるいは「フッター」(footer)という。メールソフトなどの中には、利用者が作成したシグネチャを保存しておいて、本文に自動的に追加して送信する機能を持っているものもある。