秋に向け(って使うかどうか分からないんですが)、我が車にもとうとうETCを取り付けることに。当初は安い物をディーラーでつけてもらおうとか考えていたんですが、メーカーのオプションでかっこいいカバーを見つけたり、現在のカーナビがETC連動機能付きというのを知ったあたりで方向性が狂い始め、いろいろ問い合わせたりしているうちに、なぜかトヨタ純正の車載器を買って自分で取り付けることに。
車載器はミクニヤという店から通販で購入。本体とケンウッドナビとの接続ケーブルを購入して、セットアップまでやってもらった状態で配送してもらいました。助成等を使ったのでトータルで約2万円。途中FAXや電話でのやり取りがあったんですが、手馴れたおばちゃんが応対してくれて、なかなか良い印象でした。
取り付けの方はどうしようか悩んだものの、上記ビルトインカバーの取り付け方法が頭を離れず、ディーラーではやってくれそうにないので、自分でやってしまうことに。というわけで朝から作業。
午前中は小物入れを取り出してせっせと穴あけ。このときはまだ写真を撮っておこうとかいう頭が働いてませんでした。
お昼がてら、近所のオートバックスで必要な配線部品をそろえていよいよ作業。
require 'resolv' class Resolv class Resource class SRV < Resource TypeValue = 33 def initialize(priority, weight, port, target) @priority = priority @weight = weight @port = port @target = target end attr_reader :priority, :weight, :port, :target def encode_rdata(msg) msg.put_pack('n', @priority) msg.put_pack('n', @weight) msg.put_pack('n', @port) msg.put_name(@target) end def self.decode_rdata(msg) priority, = msg.get_unpack('n') weight, = msg.get_unpack('n') port, = msg.get_unpack('n') target = msg.get_name return self.new(priority, weight, port, target) end end end end Resolv::DNS.new.getresources("_http._tcp.example.com", Resolv::DNS::Resource::IN::SRV).collectTypeValue に指定する数値が分かれば他のレコードへの応用も簡単。以下、FreeBSDの/usr/src/include/arpa/nameser.hより抜粋。
/* * Currently defined type values for resources and queries. */ typedef enum __ns_type { ns_t_a = 1, /* Host address. */ ns_t_ns = 2, /* Authoritative server. */ ns_t_md = 3, /* Mail destination. */ ns_t_mf = 4, /* Mail forwarder. */ ns_t_cname = 5, /* Canonical name. */ ns_t_soa = 6, /* Start of authority zone. */ ns_t_mb = 7, /* Mailbox domain name. */ ns_t_mg = 8, /* Mail group member. */ ns_t_mr = 9, /* Mail rename name. */ ns_t_null = 10, /* Null resource record. */ ns_t_wks = 11, /* Well known service. */ ns_t_ptr = 12, /* Domain name pointer. */ ns_t_hinfo = 13, /* Host information. */ ns_t_minfo = 14, /* Mailbox information. */ ns_t_mx = 15, /* Mail routing information. */ ns_t_txt = 16, /* Text strings. */ ns_t_rp = 17, /* Responsible person. */ ns_t_afsdb = 18, /* AFS cell database. */ ns_t_x25 = 19, /* X_25 calling address. */ ns_t_isdn = 20, /* ISDN calling address. */ ns_t_rt = 21, /* Router. */ ns_t_nsap = 22, /* NSAP address. */ ns_t_nsap_ptr = 23, /* Reverse NSAP lookup (deprecated). */ ns_t_sig = 24, /* Security signature. */ ns_t_key = 25, /* Security key. */ ns_t_px = 26, /* X.400 mail mapping. */ ns_t_gpos = 27, /* Geographical position (withdrawn). */ ns_t_aaaa = 28, /* Ip6 Address. */ ns_t_loc = 29, /* Location Information. */ ns_t_nxt = 30, /* Next domain (security). */ ns_t_eid = 31, /* Endpoint identifier. */ ns_t_nimloc = 32, /* Nimrod Locator. */ ns_t_srv = 33, /* Server Selection. */ ns_t_atma = 34, /* ATM Address */ ns_t_naptr = 35, /* Naming Authority PoinTeR */ ns_t_opt = 41, /* OPT pseudo-RR, RFC2761 */ /* Query type values which do not appear in resource records. */ ns_t_ixfr = 251, /* Incremental zone transfer. */ ns_t_axfr = 252, /* Transfer zone of authority. */ ns_t_mailb = 253, /* Transfer mailbox records. */ ns_t_maila = 254, /* Transfer mail agent records. */ ns_t_any = 255, /* Wildcard match. */ ns_t_max = 65536 } ns_type;gposなんてのもあるんですね。locってのもあるけど、何が違うんだろう?
スラッシュドットジャパンにあった ライブドア、WebメールサービスをGmailベースにリニューアルという記事を読んでちょっと引っかかることが。Gmailベースとかいうのはどうでもよいんですが、今後メールアドレスが「livedoorID@livedoor.com」という形式になるんだそうです。で、気になってちょっと確認してみると、案の定というかとんでもない状況に…
ここでも何度か話題に挙げていますが、特定のアドレスにメールが届くだけでSSL証明書を発行するという認証局は実際に存在します。例えばある認証局の場合、次のようなアドレスが使えるようです。
admin, administrator, hostmaster, root, ssladmin, sysadmin, webmaster, postmasterで、所有するドメインのトップレベルのメールアドレスを第3者に使わせる場合、気をつけないとそれらのアドレスを取得されてしまいます。実際、このエントリを書いている時点でのlivedoorの登録画面では「ssladmin」というIDが取得可能と表示されました。
あと、意外と見落としがちなのかもしれませんが、仮にライブドアでVerisign等の認証局からSSL証明書を取得済みだとしても、他の認証局がそうした取得済みのCN(サーバ名)に対する証明書を発行できなくなるといった仕組みは残念ながらこの世にはありません。たぶん。
そうすると何が起こるかというと、誰かが「ssladmin」というlivedoor IDを取得して、そのアドレスを使ってlivedoor.comドメインの任意のサーバに対する「本物の」SSL証明書を、上記のような条件の緩い認証局から取得できちゃうといった事態が生じるわけです。その後に何が起こるかは説明するまでもないでしょう。
livedoorには連絡したのでサービスイン前に何らかの措置が取られると思いますが、同様のサービスを予定/展開中のドメイン、特に同じドメイン名で金融とかショッピングモールなど複数のサービスを行っている所には同様の危険性があります。サブドメインの場合でも範囲は限定されますが同様の問題が当然出ます。SSL証明書が「本物」でベースのドメインが一致すればけっこう騙されそうな気がしますが…
というわけで、自ドメイン(特にトップレベル)のメールアドレスを不特定多数の人間に使わせる際は注意が必要というお話でした。