<前の日記(2006年09月01日) 次の日記(2006年09月08日)> 最新 編集

高木浩光@自宅の日記

目次 はじめに 連絡先:blog@takagi-hiromitsu.jp
訪問者数 本日: 1405   昨日: 3295

2006年09月06日

ログアウトし忘れのブラウザをそうと知りつつ操作するのは不正アクセス行為に該当するか

やじうまWatchによると、mixiにログインしたまま放置されていた店頭のPCを操作してプロフィールを「改ざん」した(当人曰く)という人がいて、それを著名サイトで公言していることが注目を浴びているという。いくつか反応を見てまわったところ、不正アクセス禁止法違反ではないかという議論*1があり、その中に、「パスワードを入力したわけではないから、不正アクセス行為にあたらない」などという主張をみかけた。

興味深い話題なのでちょっと検討してみる。なお、ここでは、技術的側面から行為の外形が不正アクセス禁止法3条の構成要件を満たしているかだけを検討するものであり、刑罰に値する違法性があるか否かについては検討しない。

まず、不正アクセス禁止法3条2項各号の「入力して」とは、手元のコンピュータにキーボードで入力することを指すものではないことに注意したい。このことは、警察庁の法案立案担当者らにより執筆された逐条解説書で、次のように解説されている。

「入力」とは、ここでは電気通信回線を通じて対象となる特定電子計算機(ウ参照)に電磁的方式により送り、伝えることを意味しており、特定利用をしようとする者の手元にあるコンピュータのキーボードを叩く行為自体を意味するものではない。なお、入力される符号は実際にはデジタル信号に変換されて送り、伝えられることになっても、このように符号から変換されたデジタル信号は、元の符号として入力されていると評価されることになる。

不正アクセス対策法制研究会編著, 逐条 不正アクセス行為の禁止等に関する法律, 立花書房, p.54

つまり、mixiのサーバコンピュータに対して「入力する」ことをこの法律は言っている。

「入力」は、ここでは、電気通信回線を通じて対象となる特定電子計算機に他人の識別符号を送信することを意味しているから、他人の識別符号を送信する方法として、一々キーボードを操作することは必ずしも必要ではなく、パソコンのインターネット接続ボタンを押す、識別符号が記録されているICカードを差し込むなどにより、自動的に識別符号を送信するコンピュータの機能を用いて入力することも含まれる。

不正アクセス対策法制研究会編著, 逐条 不正アクセス行為の禁止等に関する法律, 立花書房, p.75

つまり、サーバコンピュータに入力するという結果を生じさせるあらゆる操作が、「入力して」という行為にあたるとされているように読める。

ここで話を簡単にするため、まず、仮にmixiがBasic認証によるログイン方式だったとして検討してみる。

ある青年が店頭のPCのInternet Explorerを操作してmixiにログインし、ウィンドウを閉じてその場を去った。しかし、Internet Explorerは他のウィンドウが開いていた(タスクバーに隠れていた)ことからプロセスとしては終了しておらず、Basic認証のセッションは継続したままの状態となっていた。そこへ現れた別人が、Internet Explorerのウィンドウを開き、mixiのサイトにアクセスしたところ、青年のアカウントでログインした状態でページが表示されることとなった。

この別人がmixiにアクセスしたとき、電気通信回線を通じて何が行われたかというと、青年のIDとパスワードが、base64エンコードされてHTTPのリクエストヘッダのAuthorization:フィールドに格納されて、mixiのサーバコンピュータに「入力」されている。その動作は、その別人がブラウザをmixiにアクセスさせる操作をしたことによって自動的に生じさせられている*2

このようになるのは、Basic認証という方式が、1ページアクセスするごとに毎回、「入力された符号が当該利用に係る識別符号であることを確認して当該利用の制限の全部又は一部を解除する」という処理を繰り返しているからである。つまり、ページ毎にその都度ログインしているわけだ。

では次に、実際のmixiではどうかというと、cookieでログイン状態の継続が処理されており、パスワードが毎回送信されているわけではない*3。そうすると、放置されたログイン状態のブラウザを操作する行為は、同法3条2項1号の「他人の識別符号を入力して」に該当しないことになるのだろうか?

ここで、cookieの内容が「ユーザID + ユーザIDのHMAC値」という構成(パスワードは含まれていない)になっていて、サーバ側はこの値を検証してログイン状態であることを確認している場合を検討する。この場合、このcookieの値は、不正アクセス禁止法2条3項の括弧書き

当該特定利用に係る識別符号(識別符号を用いて当該アクセス管理者の定める方法により作成される符号と当該識別符号の一部を組み合わせた符号を含む。次条第二項第一号及び第二号において同じ。)

に該当するのではないか。ここで注意したいのは、「次条第二項第一号及び第二号において同じ」とあるので、3条2項1号における「他人の識別符号を入力して」の「識別符号」もこれを含むものとして解釈することになる。(この場合にも、ページ毎にその都度ログイン(というか、不正アクセス禁止法で言うところの「入力された符号が当該利用に係る識別符号であることを確認して当該利用の制限の全部又は一部を解除する」という処理)を繰り返していると見なすことができる。)

では次に、もしcookieの内容が乱数で生成されたセッションIDのみから構成されている場合はどうか。セッションIDが3条2項1号の「識別符号」にあたるかどうかについては、5月20日の日記「セッションハイジャック攻撃は1号不正アクセス行為か、それとも2号ないし3号か」で書いている。そのときの結論は、「1号にはあたらなそうなのは立法上の不備ではないかと思うが、いずれにせよセッションハイジャック行為は2号か3号でいけるので運用上問題ない」というものだった。

しかし今回検討しているのは、セッションハイジャック攻撃ではなく、目の前にあるログアウトし忘れの端末の操作という行為である。これを、2号、3号の「当該アクセス制御機能による利用の制限を免れることができる情報又は指令を入力して」と解釈するのは無理があるのではないか。

とすると、ログインし忘れ端末をそうと知りながら操作し制限された利用を利用する行為は、セッション管理の実装方法によって、不正アクセス行為の構成要件を満たしたり満たさなかったりすることになってしまう。実装がどうなっているかなんて、操作する当人には知る由もないところなのにだ。

このようなことがなぜ生じるかと言えば、この法律が、行為者の目的によって不正アクセス を定義するのではなしに、技術上何が起きるようなことをしたかによって不正アクセス行為を定義した(しようとした)からではないか*4。そして、ログイン時の認証機能については法律の文章としてうまく書き下すことに成功したものの、その後のセッションの維持という技術的必然機能の存在について配慮しなかったところが、立法上の不備であるように思う。これは法改正で改善できるだろうか。

ちなみに、別の解釈として、ログアウトし忘れの端末を操作する行為が「制限された利用をし得る状態にさせる行為」かというときに、既に利用し得る状態になっているところに当人はやってきたのだから、「新たにし得る状態にさせたとはいえない」というような主張ができそうな気もするが、どうなんだろうか*5

*1 不正アクセス禁止法の前に、電子計算機損壊等業務妨害罪と電磁的記録不正作出及び供用罪を検討するのが先だと思うが、この程度だと業務を妨害したことにはならないのかもしれない(よく知らない)のと、電磁的記録不正作出及び供用は、「人の事務処理を誤らせる目的で、その事務処理の用に供する権利、義務又は事実証明に関する電磁的記録を不正に作った者」なので、プロフィールが事実証明に関する記録かどうかなのかな(よく知らない)。

*2 その別人は、最初にmixiにアクセスした時点では、そのような結果になるとは予見していなかったであろうから、故意が認められない。しかし、他人のログイン状態であることを認識しながら、制限されている利用をするつもりで、続けてアクセスすると……。ところで、ログアウトボタンを押すことも「制限されている利用をする」ことに該当するのだろうか??

*3 cookieの内容が暗号化されたパスワードである可能性もあるが、そうなのかどうかは知らない。

*4 それは避けられなかったことなのかもしれない。なぜなら、この法律は、制限された利用が利用されてしまうことによる不利益から利用権者やアクセス管理者を保護することを法益としたものではなく、あくまでも、アクセス制御機能の社会的信頼が害されることから保護するという趣旨で立法されているので。

*5 でも、その解釈を許すと、上で引用した逐条解説の「インターネット接続ボタンを押す」が該当することと矛盾してしまうような。


<前の日記(2006年09月01日) 次の日記(2006年09月08日)> 最新 編集

最近のタイトル

2000|01|
2003|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|05|06|07|08|09|10|11|12|
2012|02|03|04|05|06|07|08|09|
2013|01|02|03|04|05|06|07|
2014|01|04|07|09|11|12|
2015|01|03|06|07|10|11|12|
2016|01|02|03|04|06|07|08|10|11|12|
2017|01|02|03|04|05|06|07|10|12|
2018|03|05|06|10|12|
2019|02|03|05|06|07|08|10|
2020|08|09|
2021|07|08|10|12|
2022|01|04|06|12|
2023|03|
2024|03|04|07|11|12|
2025|01|02|03|04|05|06|10|11|12|
<前の日記(2006年09月01日) 次の日記(2006年09月08日)> 最新 編集