バージョン選択

フォーラム

メニュー

オンライン状況

74 人のユーザが現在オンラインです。 (54 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 74
もっと...

サイト内検索

その他 > バージョンアップ > 【総合】2.11.0へのバージョンアップについて

バージョンアップ

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
AMUAMU
投稿日時: 2011/3/23 18:26
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: 【総合】2.11.0へのバージョンアップについて
はい、まさにそれらチケットです。
修正してコミットしたのは私なので・・・(汗

デフォルト暗号化をHMAC sha256にしましたが環境によって変わる場合があります。
詳しくはインストール処理を参考に。


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

shutta
投稿日時: 2011/3/23 18:32
対応状況: −−−
仙人
登録日: 2010/2/4
居住地: 関西
投稿: 835
Re: 【総合】2.11.0へのバージョンアップについて
引用:

shuttaさんは書きました:

ハッシュアルゴリズムは、2.4系では、sha1 で、 2.11からは利用可能であれば sha256 を使うようになったようですね。


/html/install/index.php 中で、


    //パスワード暗号化方式決定
     $arrAlgos = hash_algos();
     if(array_search('sha256', $arrAlgos) !== FALSE) {
         $algos = 'sha256';
     }elseif(array_search('sha1', $arrAlgos) !== FALSE) {
         $algos = 'sha1';
     }elseif(array_search('md5', $arrAlgos) !== FALSE) {
         $algos = 'md5';
     }else{
         $algos = '';
     }


となっているので、インストール時に方式が決定されるように変更になっていますね。

移行するのであれば、2.4系と同一になるように
/data/config/config.php で、

    define ('PASSWORD_HASH_ALGOS', 'sha1');

のように、sha1を設定してやれば良さそうですね。


----------------

リゾート会員権(エクシブ等)の売買・仲介

shutta
投稿日時: 2011/3/23 18:44
対応状況: −−−
仙人
登録日: 2010/2/4
居住地: 関西
投稿: 835
Re: 【総合】2.11.0へのバージョンアップについて
引用:

AMUAMUさんは書きました:
はい、まさにそれらチケットです。
修正してコミットしたのは私なので・・・(汗


あぁ、ご本人様でいらっしゃいましたね。(^^;
チケットの担当者まで確認しておりませんでした。

引用:

デフォルト暗号化をHMAC sha256にしましたが環境によって変わる場合があります。
詳しくはインストール処理を参考に。


同じスレッドの
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=7662&post_id=37141&forum=15
にも記載しましたが、
新規インストール時に暗号化アルゴリズムが環境に合わせて決定されるようですね。
新規にインストールした際には、利用可能であれば通常はsha256になるようですが、移行ということであればconfig.phpのPASSWORD_HASH_ALGOSを2.4系と同じsha1に設定を上書きして、DBを移行してくればいけそうな気がしそうですが、どうでしょうかね。


----------------

リゾート会員権(エクシブ等)の売買・仲介

shutta
投稿日時: 2011/3/23 19:33
対応状況: −−−
仙人
登録日: 2010/2/4
居住地: 関西
投稿: 835
Re: 【総合】2.11.0へのバージョンアップについて
引用:

新規インストール時に暗号化アルゴリズムが環境に合わせて決定されるようですね。
新規にインストールした際には、利用可能であれば通常はsha256になるようですが、移行ということであればconfig.phpのPASSWORD_HASH_ALGOSを2.4系と同じsha1に設定を上書きして、DBを移行してくればいけそうな気がしそうですが、どうでしょうかね。


2.11では、HMAC方式を採用されているんですね。
上記のようにハッシュアルゴリズムを変更しても、

2.4系
sha1($password . ":" . AUTH_MAGIC);

2.11系
hash_hmac('sha1', $password . ":" . AUTH_MAGIC, $salt);

となって、同じハッシュ値になりませんね。

パスワードに関してはこのままではデータ移行できそうにないですね。


----------------

リゾート会員権(エクシブ等)の売買・仲介

homan
投稿日時: 2011/3/23 19:46
対応状況: −−−
仙人
登録日: 2007/7/2
居住地: 宮崎県宮崎市
投稿: 633
Re: 【総合】2.11.0へのバージョンアップについて
引用:

2.11では、HMAC方式を採用されているんですね。
上記のようにハッシュアルゴリズムを変更しても、

2.4系
sha1($password . ":" . AUTH_MAGIC);

2.11系
hash_hmac('sha1', $password . ":" . AUTH_MAGIC, $salt);

となって、同じハッシュ値になりませんね。

パスワードに関してはこのままではデータ移行できそうにないですね。


なるほど、、ありがとうございます
基本的にセキュリティレベルが下がる方向にはしたくないのが本音ですが、万一移行したい!というお客様がいらっしゃる場合は、その辺の仕様をグレードダウンさせないといけないということですね。

もしくは、EC-CUBEとは違うパッケージをご利用でパスワードが暗号化されている場合、パスワードだけ振り直して差し込みメールで飛ばす(顧客数が多いとやりたくないですが・・・)という手法をとることもあると思いますが、それと同様の対応になるかもしれませんね。


ということは本当に似て非なるというよりも、違うパッケージだと思った方が良いのかもしれませんね


----------------
このコミュニティでの投稿はボランティアの範囲に留めさせていただいています。個別の相談やカスタマイズは有償にて承っておりますのでご相談下さい。

[url=http://www.eccube-school.jp/]EC-CUBE

shutta
投稿日時: 2011/3/23 21:33
対応状況: −−−
仙人
登録日: 2010/2/4
居住地: 関西
投稿: 835
Re: 【総合】2.11.0へのバージョンアップについて
引用:

homanさんは書きました:

基本的にセキュリティレベルが下がる方向にはしたくないのが本音ですが、万一移行したい!というお客様がいらっしゃる場合は、その辺の仕様をグレードダウンさせないといけないということですね。



セキュリティレベルはできるだけ避けないように、2.4(旧2.x)系からの移行も考慮した方法を検討していければと思います。

今、これでいけるんじゃないかと思っているのが、

2.11.0のSC_Utils.phpのsfIsMatchHashPasswordを、


    function sfIsMatchHashPassword($pass, $hashpass, $salt) {
        $res = false;
        if ($hashpass != '') {
            if (AUTH_TYPE == 'PLAIN') {
                if($pass === $hashpass) {
                    $res = true;
                }
            } else {
                    $hash = SC_Utils_Ex::sfGetHashString($pass, $salt);
                if($hash === $hashpass) {
                    $res = true;
                }
            }
        }
        return $res;
    }


から、


    function sfIsMatchHashPassword($pass, $hashpass, $salt) {
        $res = false;
        if ($hashpass != '') {
            if (AUTH_TYPE == 'PLAIN') {
                if($pass === $hashpass) {
                    $res = true;
                }
            } else {
                if (empty($salt)) {
                    // 旧バージョンからの移行を考慮
                    $hash = sha1($pass . ":" . AUTH_MAGIC);
                } else {
                    $hash = SC_Utils_Ex::sfGetHashString($pass, $salt);
                }
                if($hash === $hashpass) {
                    $res = true;
                }
            }
        }
        return $res;
    }


に変更すればどうかなぁと思いますがどうでしょうか?

通常saltが空になることは無いと思うので、空だった場合は旧バージョンから移行されたデータと見做してしまう感じです。

旧バージョンからデータ移行する場合は、パスワードハッシュはそのままで、saltを空にして移行します。
その際、旧バージョンのmtb_constants_init.phpにあるAUTH_MAGICの値を、2.11.0のconfig.phpに上書きも必要です。
これで、パスワードは移行できると思います。

移行後にパスワードを変更した際には、salt値が入力されHMAC方式のハッシュに更新されるはずですので、暗号化強化の実装も生きるかと思います。

どうでしょうか?


----------------

リゾート会員権(エクシブ等)の売買・仲介

shutta
投稿日時: 2011/3/23 21:39
対応状況: −−−
仙人
登録日: 2010/2/4
居住地: 関西
投稿: 835
Re: 【総合】2.11.0へのバージョンアップについて
引用:

shuttaさんは書きました:

その際、旧バージョンのmtb_constants_init.phpにあるAUTH_MAGICの値を、2.11.0のconfig.phpに上書きも必要です。


自己訂正です。

上記は不正確で、AUTH_MAGICの値を変更することはあまり無いと思いますが、
キャッシュ(/data/cache/mtb_constants.php)の方の値が正ですね。


----------------

リゾート会員権(エクシブ等)の売買・仲介

Yammy
投稿日時: 2011/3/24 13:26
対応状況: −−−
半人前
登録日: 2008/2/18
居住地: 大阪
投稿: 30
Re: 【総合】2.11.0へのバージョンアップについて
DB の移行機能ですが、移行専用ではなく、CSV で商品規格情報、会員情報、受注情報を取り込める汎用機能を追加しようと思います。

2.4系からは、上記機能の CSV レイアウトにあった形式でデータが出力できるようにします。


----------------
--
株式会社サイバーウィル <Cyber-Will Inc.>
EC-CUBE構築サービス
VERANDA あったらうれしい、が見つかる。

Yammy
投稿日時: 2011/3/24 13:33
対応状況: −−−
半人前
登録日: 2008/2/18
居住地: 大阪
投稿: 30
Re: 【総合】2.11.0へのバージョンアップについて
書き忘れていましたのが、関連するチケットを登録しました。

#1195 【2.11系DB移行機能】商品情報
http://svn.ec-cube.net/open_trac/ticket/1195

#1196 【2.11系DB移行機能】顧客情報
http://svn.ec-cube.net/open_trac/ticket/1196

#1197 【2.11系DB移行機能】受注情報
http://svn.ec-cube.net/open_trac/ticket/1197


----------------
--
株式会社サイバーウィル <Cyber-Will Inc.>
EC-CUBE構築サービス
VERANDA あったらうれしい、が見つかる。

AMUAMU
投稿日時: 2011/3/25 15:30
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: 【総合】2.11.0へのバージョンアップについて
バージョンアップ関連で、当方はデザインテンプレート上における変数変更など、影響範囲をあまり把握していないのですが、どなたかデザインテンプレートにおける変化点について、ざっくりでも良いので違いの大きさについて分かる人いませんかね・・・?


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

« 1 (2) 3 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は57,116名です
総投稿数は94,686件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
2033
4
468
1955
5
yuh
1611
6
umebius
1497
7
red
1382
8
h_tanaka
947
9
fukap
907
10
tsuji
856
11
shutta
835
12 ramrun 789
13
tao_s
783
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.