Friday Sep 07, 2007

Sun Java System Web Server 7.0 が楕円曲線暗号 (ECC) に対応したことの意味

以下, 個人的なメモ. 先に書いておくと, とくにオチはないです. すみません.

まず, 2011 年以降も運用されるであろうシステムで 1024 ビット RSA を使うことは推奨されない (曰く, NIST による安全性に関する「お墨付き」 を喪失する公算が高い). いわゆる 「2010 年問題」.

鍵管理方法に関するガイドライン SP 800-57 では, 2010 年末までは 2-key トリプル DES と 1024 ビット RSA も推奨されている (NIST [2005a],表 2参照). しかし, 2030 年末までの利用を想定する場合はこれらの使用を推奨しておらず, 共通鍵暗号としては AES または 3-key トリプル DES を, 公開鍵暗号としては鍵長 2048 ビット以上の RSA 等を推奨している.
金融分野における暗号アルゴリズムの 2010 年問題について

しかし現在広く使われている 1024 ビット RSA を, 2011 年以降のシステムで推奨となる 2048 ビット RSA へ, あるいはさらに 4096 ビット RSA にステップアップすると, 計算に必要なコストは指数的に増大してしまう.

As Key Size Increases ...
Elliptic Curve Cryptography: The Future of SSL (TLS)

一方, 楕円曲線暗号 (ECC) では, 鍵長が大きくなっても, RSA のように計算コストがバカ高くなったりしない. NIST P-256 は 3072 ビット RSA 相当であるにもかかわらず, その計算コストは 2048 ビット RSA を下回る. また 15360 ビット RSA 相当の NIST P-521 でも, 4096 ビット RSA の半分以下.

Larger Key Sizes: ECC vs. RSA
同上

このような特長を持つ ECC を, Sun Java System Web Server 7.0 では SSL サーバ証明書に利用することができる.

Generating CSR

ECC な SSL サーバ証明書を使う上でのキーとなるのが Web ブラウザと証明書発行機関だけど, まず Firefox 2.0 と Internet Explorer 7 は ECC オッケー. また某 SSL サーバ証明書発行業者も, ECC 入りの CSR を受けつけてくれる (たぶん. 少なくとも, 無料のテスト用を申請した限りではうまくいった). 発行された証明書の subjectPublicKeyInfo はこんな感じ. たった 256 ビットしかないのに, その強さは 3072 ビット RSA 相当だなんて, なんかかっこいい!

        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
                Public-Key: (256 bit)
                pub: 
                    04:31:f1:d7:3a:6c:4e:d9:a2:26:0c:96:ec:ac:aa:
                    2c:e7:cf:3c:9a:1a:75:e7:06:dc:19:78:e5:1e:6e:
                    b7:96:55:cf:29:66:68:7c:0f:cc:8d:40:12:6b:cf:
                    de:c1:fd:d9:fd:1f:eb:1f:31:ad:65:79:98:dc:be:
                    76:2c:a7:b8:23
                ASN1 OID: prime256v1

Tuesday Sep 19, 2006

OpenSSO のアクセス保護設定 (そのゼロ): Sun Java System Web Server 6.1 SP6 のインストール

先日インストールした OpenSSO を使って, Web サーバへのアクセスを保護してみる.

まずは保護対象の Web サーバが存在しないことにははじまらない. 今回はポリシー・エージェント一覧に載っている Web / アプリケーション・サーバのうち, Sun Java System Web Server (以下 Web Server) で試すことにした.

まずはインストール・パッケージのダウンロード. 以下のページの下方にある Download をクリック. ちなみに説明のところに The product is unlimited and free for use in development, staging, testing and deployment. と書いてある通り, 先日から Web Server をはじめとする Sun のソフトウェアは無償提供となっていることに注目.

WS61SP6 intl download

ログイン・ページ. 左のボックスに Sun Online Account のユーザ名とパスワードを入力し, Login をクリック. もし Sun Online Account をまだ持っていない場合には, 右の Register からアカウントを作成する必要がある.

Sun Online Account Login

インストール・パッケージのダウンロード・ページ. License Agreement を確認後 Accept を選択し, 使用するプラットフォーム向けのパッケージを選択. 今回は Sun Enterprise 250 上の Solaris 10 にインストールするつもりなので, Sun Java System Web Server for Solaris SPARC, Multi-language (sun-webserver61-sparc-intl.tar.gz) をダウンロードした.

WS61SP6 Download

ダウンロードしたパッケージを展開するとこんな感じ:

# ls
3RD-PARTY-LICENSE.txt   install.inf             setup.inf
LICENSE.txt             installWrapper          template.inf
README.txt              lib
WebServer               setup

ここからインストーラを起動し, Web Server を入れてみる.

# ./setup

                             Sun Microsystems, Inc.
                 Sun ONE Web Server Installation/Uninstallation
--------------------------------------------------------------------------------
(いろいろメッセージが出力されるけど, ここでは省略. 以下同様)

Would you like to continue with installation? [Yes]: yes
Do you agree to the license terms? [No]: yes
Choose an installation type [2]: 1 (← ここでは手抜きして Express installation を選択した)
Install location [/opt/SUNWwbsvr]: /opt/SUNWwbsvr
Specify the components you wish to install [All]: all
System User [webservd]: nobody
System Group [webservd]: nobody
Run Web Server Administration Server as [root]: root
Web Server Admin Server User Name [admin]: admin
Web Server Admin Server Password: \*\*\*\*\*\*\*\*
Web Server Admin Server Password (again): \*\*\*\*\*\*\*\*
Default Language: 5 (← Japanese を選択)

Extracting Server Core...
Extracting Java Development Kit...
Extracting Language Packs...
Extracting Upgrade Files...

Server Core installed successfully.
Java Support installed successfully.
I18N Support installed successfully.

Press Return to continue...

Go to /opt/SUNWwbsvr and type startconsole to begin
managing your servers.
# 

インストールが完了したので, Web Server インスタンスを起動してみる.

# cd /opt/SUNWwbsvr/
# ./https-sw-23/start
Sun ONE Web Server 6.1SP6 B05/07/2006 12:33
info: CORE5076: Using [Java HotSpot(TM) Server VM, Version 1.4.2_04] from [Sun Microsystems Inc.]
info: WEB0100: Loading web module in virtual server [https-sw-23] at [/search]
info: HTTP3072: [LS ls1] http://sw-23:80 ready to accept requests
startup: server started successfully
# ./https-admserv/start
Sun ONE Web Server 6.1SP6 B05/07/2006 12:33
info: CORE3016: daemon is running as super-user
info: CORE5076: Using [Java HotSpot(TM) Server VM, Version 1.4.2_04] from [Sun Microsystems Inc.]
info: WEB0100: Loading web module in virtual server [vs-admin] at [/admin-app]
info: HTTP3072: [LS ls1] http://sw-23:8888 ready to accept requests
startup: server started successfully
#

あとは Web ブラウザで Web Server にアクセスし (今回は http://sw-23.japan.sun.com), 以下のようなページが出てくればオッケー.

Web Server Home

次回はこの Web Server にポリシー・エージェントをインストールしてみる.

Wednesday Mar 29, 2006

圧倒的な Sun Java System Web Server 技術情報

Sun Java System (SJS) Web Server の開発エンジニアである Chris Elving が, SJS Web Server ネタを blogs.sun.com で書き始めたみたい.

一本目のエントリからいきなり前振りなしに, Apache HTTP Server の XBitHack full 相当品を NSAPI フィルタで実装する例を解説している! すばらしい.

I thought this would be a good opportunity to demonstrate a new technology in Web Server 6.1, NSAPI filters. NSAPI lets you extend a web server with custom plugins, and its been part of Sun's Web Server for years.
elving's web server logs: Last-Modified and NSAPI Filters

I hope to share some other NSAPI plugins in the future. Have any of you done anything interesting with NSAPI? とのことなので, 作ってもらいたい NSAPI プラグインをリクエストしたり, あるいは 「NSAPI でこんなん作ったよ (岩片さん, これぜひお願いします!)」 と伝えてみるとおもしろいかも.

Wednesday Dec 07, 2005

CoolThreads サーバ上で Java ES

NC05Q4
本日未明の CoolThreads サーバのローンチ直後から, 驚くほど多種多様な技術情報が外部に公開されている. ここではその中でも Java Enterprise System (Java ES) に関連してそうなネタをいくつか書き留めてみる.

Thursday Sep 29, 2005

SLAMD Distributed Load Generation Engine

SLAMD
SLAMD は, ネットワーク・アプリケーションに対し分散負荷テストと性能測定 (いわゆるベンチマーク) を行なうための Java ベースのアプリケーション. もともとは Sun 社内利用オンリーのツールで, ちょうど一年くらい前, Sun Public License の下に公開された.

設定情報やテスト結果を格納するための LDAP サーバをインストールしなくてはならないのがちょっと敷居高めかもしれないけど, 一度準備してしまえばその後はけっこうお手軽にテストを設定・実行し, 結果を比較・解析できる.

実際の出力結果をいくつかご紹介. まずは HTTP 処理ベンチマークの例. 赤のグラフが平均トランザクション数 / 秒, 緑のグラフが一トランザクションあたりの平均処理時間.
HTTP_GetRate

Web サーバにたくさんの HTTP GET リクエストを与えたときの, サーバ全体の CPU 利用状況を計測した例. はじめはほとんど青 (idle) だけど, 徐々に緑 (sys) と赤 (usr) の割合が大きくなっていってる.
CPU_Utilization

同じく Web サーバにたくさんの HTTP GET リクエストを与えたときの, Web サーバ・プロセスのサイズを計測した例. プロセス内にキャッシュされるセッションや処理スレッド数が増えていくにつれて, そのサイズも大きくなっていってることがわかる.
Process_Size

もともと Sun Java System Directory Server やその関連ミドルウェアの開発に使われていたツールだから, あらかじめ用意されているジョブ・クラス (ベンチマーク定義) はそっち系が多め. しかしそれ以外にも HTTP GET 処理や SQL 処理のサンプルなどいろいろ同梱されているので (Defined Job Class 参照), フリーのベンチマーク・ツールをお探しの方はぜひ一度お試しあれ.

Sunday Feb 27, 2005

CEC 2005: Day One

CEC 2005 CEC 2005 初日. とりあえずおのぼりさん気分で記念写真を撮ってもらった (thanks to 岩片さん). 写真を見てわかる人にはわかると思うけど, この社内トレーニングは Moscone Center で開催されている. その規模は 2,000 - 5,000 人らしい. ここに前回来たのは JavaOne 2002 San Francisco の Sun の展示のひとつで説明員をしたとき (そのときは日本で作った Services on Demand デモを英語にローカライズして持っていった) だから, それからちょうど 3 年ぶりくらい.

CEC 2005 午前の General Session では Jonathan Schwartz が登壇し, 聴衆からの質問に次々と答えていった. 彼の語った内容をここに書くことはできないが, その雰囲気は The Gillmor Gang にゲストで出たときのようなスマートな受け答えを想像してもらえればいいと思う. さしさわりが無さそうな範囲でひとつ紹介すると, 2, 3 分に一回は blog という単語が出てきてたのが印象的だった. blog のほうにも書いたんだけど, ... とか, blog を読んでもらえばわかる通り, ... とか, blog 書いてる人は手を挙げて! とか.

午後はブレイクアウト・セッション. ぼくの選んだのは法令遵守, Java の競合分析, Java Enterprise System on Solaris 10, Sun Java System Web Server のチューニング, IdM デモ, などなど.

そういえば, 会場で朝ごはんを食べてたら偶然 NameFinder の作者である Detlef Schmier に出会った. Detlef とは先日ぼくと遠山さんで NameFinder の日本語化をやったときにメールで何回かやりとりしてたのだけど, その本人から突然声を掛けられた (こちらの名札を見て気づいたらしい) ときには誰だかわからなかった ;) こういう予期しないネットワーキングがあるから, ワールドワイドな集まりはおもしろいんだよなー.

About

tkudo

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today