ソルト (暗号)

暗号理論におけるソルト(Salt)とは、パスワードパスフレーズなどのデータをハッシュ化する際に、一方向性関数の入力に加えるランダムなデータのことである。ソルトはパスワードをストレージに保存する際の保護に利用される。 歴史的にはパスワードが平文のままシステムに保存されていたこともあったが、時代を経るにつれ、パスワードに対する攻撃への保護策が開発されていった。ソルトはその一つである。

ソルトはパスワードごとにランダムに生成される。よくある方法では、ソルト平文のパスワード(または、ソルトとキーストレッチを施したあとのパスワード)を文字列結合した上で、暗号学的ハッシュ関数に入力し、その出力をソルトとともにデータベースへ保存する(平文のパスワードは保存しない)。パスワードをハッシュ化することで、認証にあたって平文のパスワードを保存しておく必要がなくなる。これにより、保存していた認証情報が漏洩しても、平文のパスワードが漏れることはなくなる。

ソルトを使うことで、辞書攻撃レインボーテーブルを使った攻撃に対抗できる[1]。ソルトの値は人間が記憶しておく必要はないため、ユーザーの負担を増やさずに、攻撃を成功させるために必要なレインボーテーブルのサイズを実現不可能なほど大きくできる。ソルトには毎回異なる値が使われるため、よく使われるパスワードを使っていた場合や、いろいろなサイトでパスワードを使い回していた場合でも、ソルトを加えたハッシュ値はそれぞれ別々になる。

暗号学的なソルトは、Unixの認証情報からインターネットセキュリティまで、現代的なコンピュータシステムで幅広く使われている。

ソルトはノンスの概念とも強く関連している。

使用例

ソルトを使ってパスワードを保存する手順の概要を、例をもとに示す。 次のテーブルは、ユーザー名とパスワードの組み合わせを2つ示している。ここではまだパスワードは保存されていない。

ユーザ名 パスワード
user1 password123
user2 password123

ソルトの値はランダムに生成される。また、ソルトはどんな長さでもよい。この例では、ソルトの長さは8バイト(64ビット)とする。平文のパスワードにソルトを付与して、その結果をハッシュ化する。この結果の値をハッシュ値と呼ぶ。ソルトの値とハッシュ値をストレージへ保存する。

ユーザ名 ソルト ハッシュ化される値(パスワード + ソルト) ハッシュ値 = SHA256 (パスワード + ソルト)
user1 E1F53135E559C253 password123E1F53135E559C253 72AE25495A7981C40622D49F9A52E4F1565C90F048F59027BD9C8C8900D5C3D8
user2 84B03D034B409D4E password12384B03D034B409D4E B4B6603ABC670967E99C7E7F1389E40CD16E78AD38EB1468EC2AA1E62B8BED3A

上のテーブルで示したように、ソルトの値が異なると、平文のパスワードが同じであっても、作られるハッシュ値はまったく別になる。 加えて、攻撃者がハッシュ値を事前に計算しておくことも難しくなるため、辞書攻撃の効果も低減できる。ただし、よく使われるパスワードや、簡単に推測できるパスワードに対しては、ソルトは効果がない。

よくある誤用

ソルトの再利用

プログラマがパスワードをハッシュ化する際に毎回同じソルトを使用するケース。 この場合でも、既存のレインボーテーブルを無効化することはできる(ソルトの値が適切であれば)。ただし、広く使われている製品にソルトがハードコーディングされると、そこから抽出したソルトを使って新しいレインボーテーブルを生成できてしまう。 また、ソルトが固定だと、パスワードが同じユーザーはハッシュ値も同じになってしまう(ハッシュ値を作る際にユーザ名を混ぜ込んでいる場合を除く)。これにより、一つのハッシュ値で複数のユーザーを攻撃するのが容易になってしまう。

短すぎるソルト

ソルトが短すぎると、ソルトが取りうる値すべてと、よくあるパスワードすべての組み合わせに対するレインボーテーブルを、攻撃者が容易に作成できてしまう。長いソルトを使うことで、レインボーテーブルのサイズを実現不可能なほど大きくすることができる[2]

利点

単一のパスワードに対する攻撃と、複数のパスワードに対する攻撃との違いを示すため、ユーザ名とハッシュ化したパスワードとの組が大量に記録されているファイルを考える。 ソルトがない場合、攻撃者はまずパスワードのハッシュ値hash(attempt[0])を一つ求め、その結果と一致するハッシュ値がファイル中にないか調べる。 一致するハッシュ値がある確率、つまりこの試行でパスワードを攻略できる確率は、ファイル中にあるパスワードが多いほど高くなる。 一方でソルトがある場合、攻撃者はまずファイル中のエントリAとソルト付きのハッシュ値hash(salt[a], attempt[0])を比較し、次にファイル中のエントリBとソルト付きのハッシュ値hash(salt[b], attempt[0])を比較し……という手順で攻撃を行うことになる。 以上の例より、ソルトを使うことで、複数のパスワードを攻略しようとした際にハッシュ値の「再利用」ができなくなることがわかる。

ソルトは、ハッシュテーブルやレインボーテーブルを使ったパスワードクラッキングの防止にもなる[3]。ここでハッシュテーブルとは、よく使われるパスワードのハッシュ値を大量に集めたリストのことを指す。ソルトなしのパスワードの場合、攻撃者は各ユーザのエントリを見て、ハッシュテーブルやレインボーテーブルにハッシュ化されたパスワードと一致するものがあるか調べる。このテーブルルックアップがハッシュ関数の処理よりも充分に高速な場合(そうである場合がよくある)、この手法によりパスワードクラッキングを高速化できる。

一方、ソルトつきのパスワードの場合、ハッシュテーブルやレインボーテーブルに「ソルト + パスワード」をハッシュ化した値がなくてはならない。ソルトが充分に長くかつランダムであれば、そのような値があるケースは考えにくい。 人間が選んだソルトなしのパスワードは、記憶できる程度に短くかつ意味のある内容でなければならないので、辞書攻撃に対して脆弱になりがちである。 小さな辞書(またはそれをハッシュ化したハッシュテーブル)であっても、もっともよく使われるパスワードにクラッキングするには充分である。 ソルトは人間が記憶しておく必要がない。そのため、長いソルトを使えば、ユーザーに負担を強いることなく、攻撃を成功させるのに必要なレインボーテーブルのサイズを実現不可能なほど大きくすることができる。

より技術的には、ソルトはパスワードをより長く、より複雑にすることで、ハッシュテーブルやレインボーテーブルによる攻撃に対抗しているものと見なせる。 レインボーテーブル上に、ソルトつきのパスワードと長さ(たとえば8バイトのパスワードと2バイトのソルトで、レインボーテーブル上では10バイトのパスワードと同じ)や複雑性(ソルトが非英数字であれば、英数字のみのパスワードより複雑性が増す)の合うパスワードがなければ、レインボーテーブルからパスワードが見つかることはない。またパスワードが見つかった場合は、パスワードからソルト部分を取り除いて使用する必要がある。

シャドウパスワードを備えた現代的なシステムでは、パスワードのハッシュ値やその他のセキュリティに関するデータは非公開のファイルに格納されるため、これらのような懸念点は軽減されていると言える。 一方で、中央集約型のパスワード管理システムを使って複数のサーバを利用しており、パスワードやパスワードハッシュが複数のシステムへ送信されるような環境では、このような課題は引き続き妥当な懸念点であると言える。 そのような環境では、個々のシステムのrootアカウントより、中央集約型のパスワード管理システムの管理者の方が信頼されているという扱いになる。そのため、パスワードをハッシュ化する際のアルゴリズムが、ソルトの値の生成方法も含めて適切か確認することにも意味がある[要出典]

ソルトには、大量のパスワードを攻撃する辞書攻撃総当たり攻撃の速度を低下させる効果もある(パスワード1つだけを攻撃する場合にはこの効果は望めない)。 ソルトがない場合、攻撃者が一度にたくさんのパスワードを攻撃するときには、推測したパスワードを1回ハッシュ化したら、その結果をすべてのハッシュ値と比較すれば済む。 一方でソルトがある場合、各パスワードのソルトはすべて異なると考えてよい。そのため、推測したパスワードは、攻撃対象のパスワードそれぞれのソルトを使って毎回ハッシュ化する必要がある。これにより、1つのハッシュ値をすべてパスワードと比較する場合と比べ、有意に速度が低下する。

ソルトのもう一つの(ただし小さな)利点として、2人のユーザが同じパスワードを使っていた場合、あるいは同じユーザが2つのマシンで同じパスワードを使っていた場合が挙げられる。 ソルトがない場合、このようなパスワードは同じハッシュ値としてパスワードファイルに保存される。 これにより、2つのアカウントが同じパスワードを使っていることが分かってしまうため、片方のアカウントのパスワードを知っている人は、もう一つのアカウントにもアクセスできてしまう。 一方で、パスワードにランダムなソルトを付与していた場合、2つのアカウントが同じパスワードを使っていたとしても、ハッシュを見ただけでそれが知られることはない。

Unixにおける実装

1970~1980年代

初期のUnixでは、パスワードファイル /etc/passwd にソルトつきのパスワードが保存されていた(パスワードの前に2文字のランダムなソルトが付いていた)。 この頃の古いバージョンのUnixでは、ソルトつきパスワードのハッシュ値といっしょに、ソルトの値も(平文で)passwdファイルに保存されていた。 またパスワードファイルはシステムのユーザは誰でも読むことができたが、これは、ユーザ権限で動くソフトウェアがユーザ名やその他の情報を読むためにこのような仕様となっていた。そのため、パスワードのセキュリティは一方向関数(暗号化、またはハッシュ化)だけで保護されている状態だった。 初期のUnixの実装では、パスワードの最大長は8文字までで、ソルトは12ビットであった。ソルトの取りうる値は4,096通りとなる[4]。 これは1970年代における計算量とストレージのコストから見れば、妥当なバランスと言えた[5]

1980年代

ハッシュやソルトへのアクセスを制限するため、シャドウパスワードが導入された。ソルトは8文字、ハッシュ値は86文字となり、パスワードの最大長は無制限となった。

Webアプリケーションにおける実装

Webアプリケーションにおいては一般的に、ユーザのパスワードはハッシュ化されてデータベースに保存される。 この際にソルトがないと、SQLインジェクションが成功した場合に容易に攻略可能なパスワードができてしまう。 これは、複数のサイトでパスワードを使い回すユーザが多くいるためである。ソルトを使うことはWebアプリケーション全体のセキュリティを高めるために重要であると言える[6]。各種プログラミング言語(PHP、.NETなど)でパスワードハッシュにソルトを使う方法については、外部リンクを参照。

関連項目

参考文献

  1. ^ Passwords Matter”. 2019年2月13日閲覧。
  2. ^ Secure Salted Password Hashing - How to do it Properly”. 2019年2月14日閲覧。
  3. ^ How Rainbow Tables work”. kestas.kuliukas.com. 2019年2月14日閲覧。
  4. ^ Morris, Robert; Thompson, Ken (1978年4月3日), Password Security: A Case History, Murray Hill, NJ, USA: Bell Laboratories, 2013年8月21日時点のオリジナルよりアーカイブ。2019年2月14日閲覧
  5. ^ How Unix Implements Passwords [Book]”. 2019年2月14日閲覧。
  6. ^ ISC Diary Hashing Passwords”. Dshield.org. 2019年2月14日閲覧。

外部リンク

Read other articles:

Timor Leste Artikel ini adalah bagian dari seri Politik dan KetatanegaraanTimor Leste Konstitusi Presiden Jose Ramos Horta Perdana Menteri Taur Matan Ruak Krisis politik 2006 Parlemen Nasional Partai politik Pemilu terkini Presiden: 2007201220172022 Parlemen: 2007201220172022 Pembagian administratif DistrikSubdistrik Hubungan luar negeri Bantuan asing untuk Timor Leste Negara lainnya Atlas lbs Peta distrik-distrik di Timor Leste, urutan geografis Timor Leste terbagi atas 14 distrik administra...

 

1951 film Behind Closed ShuttersDirected byLuigi ComenciniWritten byMassimo MidaGianni PucciniFranco SolinasSergio SollimaProduced byLuigi RovereStarringMassimo GirottiEleonora Rossi DragoGiulietta MasinaCinematographyArturo GalleaEdited byRolando BenedettiMusic byCarlo RustichelliProductioncompanyRovere FilmDistributed byLux FilmRelease date12 March 1951Running time90 minutesCountryItalyLanguageItalian Behind Closed Shutters (Italian: Persiane chiuse) is a 1951 Italian crime-melodrama film d...

 

ساجت   الإحداثيات 38°35′13″N 90°10′00″W / 38.5869°N 90.1667°W / 38.5869; -90.1667  تاريخ التأسيس 1926  تقسيم إداري  البلد الولايات المتحدة[1][2]  التقسيم الأعلى إلينوي  خصائص جغرافية  المساحة 4.61 ميل مربع  عدد السكان  عدد السكان 141 (1 أبريل 2020)[3]159 (1 أبريل...

Drs. H.Suhardi DukaM.M.Anggota Dewan Perwakilan RakyatPetahanaMulai menjabat 1 Oktober 2019Daerah pemilihanSulawesi BaratBupati Mamuju ke-10Masa jabatan2005–2015WakilUmar Pambabu (2005–10)Bustamin Bausat (2010–15)PendahuluAlmalik PababariPenggantiHabsi WahidKetua Dewan Perwakilan Rakyat Daerah Kabupaten MamujuMasa jabatan2000–2005PenggantiThamrin Endeng Informasi pribadiLahir10 Mei 1962 (umur 61)Mamuju, IndonesiaKebangsaanIndonesiaPartai politikPartai Golongan Karya (1989...

 

Sports complex in Joondalup, Western Australia Not to be confused with Perth Oval, known as HBF Park; or Perth Superdrome, known as HBF Stadium. Arena JoondalupLocationKennedya Drive, Joondalup, Western AustraliaCoordinates31°44′3″S 115°45′47″E / 31.73417°S 115.76306°E / -31.73417; 115.76306OwnerWestern Australian GovernmentOperatorVenuesWestCapacity16,000Record attendance15,082 (1994)[2]ConstructionBroke ground1993Opened1994ArchitectCox Archit...

 

Swedish manufacturer This article is about the Swedish company. For the American company, see ASEA (American company). This article relies largely or entirely on a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources.Find sources: ASEA – news · newspapers · books · scholar · JSTOR (October 2019) Allmänna Svenska Elektriska AktiebolagetASEA HQ in VästeråsType...

Sturmgeschütz III StuG III Ausführung G mit Zimmerit-Beschichtung in der Wehrtechnischen Studiensammlung Koblenz Allgemeine Eigenschaften Besatzung 4 Länge 6,77 m Breite 2,95 m Höhe 2,16 m Masse 23,9 t Panzerung und Bewaffnung Panzerung 19–80 mm Hauptbewaffnung 7,5-cm-StuK 40 L/48 Sekundärbewaffnung 1 × 7,92-mm-MG 34 Beweglichkeit Antrieb Maybach HL 120 TRM300 PS Geschwindigkeit 40 km/h (Straße) Leistung/Gewicht 12,6 PS/t Reichweite 155 km (Straße) Das Sturmgeschütz III (Sd.Kf...

 

1934 film by Walter Summers This article relies largely or entirely on a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources.Find sources: The Return of Bulldog Drummond – news · newspapers · books · scholar · JSTOR (March 2021) The Return of Bulldog DrummondFilm posterDirected byWalter SummersWritten byWalter SummersBased onThe Black Gangby H.C. McNeileProduc...

 

Marines Nekton: Atlantische Heringe (Clupea harengus) auf ihrer Laichwanderung in die Ostsee. Die hohe Geschwindigkeit kann über mehrere tausend Kilometer durchgehalten werden Schwarmfische vor Papua-Neuguinea Ein Schwarmfisch ist ein Fisch, der mit vielen anderen Fischen seiner Art, aber auch mit anderen Arten, zusammen umherschwimmt. Dabei schwimmen die einzelnen Fische weitgehend parallel zueinander, in etwa gleichem Abstand und in die gleiche Richtung. Schwarmfische können ganzjährig, ...

State electoral district of Victoria, Australia MilduraVictoria—Legislative AssemblyLocation of Mildura (dark green) in VictoriaStateVictoriaCreated1927MPJade BenhamPartyNationalNamesakeTown of MilduraElectors44,401 (2018)Area37,529 km2 (14,490.0 sq mi)DemographicRural Electorates around Mildura: South Australia New South Wales New South Wales South Australia Mildura Murray Plains South Australia Lowan Ripon Mildura is an electoral district of the Legislative Assembly in...

 

Konstantinus IIKaisar ke-60 dari Kekaisaran RomawiPatung Kaisar Konstantinus II sebagai Caesar di atas Cordonata (tangga monumental untuk memanjat ke Piazza del Campidoglio), di Roma.Berkuasa1 Maret 317 – 337 (sebagai Caesar di barat di bawah ayahnya); 337 – 340 (kaisar bersama dengan Konstantius II dan Konstans, atas Gaul, Hispania, dan Britannia, di 340 ketika kalah dari Konstans);PendahuluKonstantinus IPenerusKonstantius II and KonstansKelahiranFebruari 316Arelate, ViennensisKematian34...

 

2017 mass shooting in Quebec, Canada Quebec City mosque shootingPart of terrorism in CanadaMosqueQuebec City mosque shooting (Quebec City)Show map of Quebec CityQuebec City mosque shooting (Quebec)Show map of QuebecQuebec City mosque shooting (Canada)Show map of CanadaLocationSainte-Foy, Quebec City, CanadaCoordinates46°46′41″N 71°18′19″W / 46.77806°N 71.30528°W / 46.77806; -71.30528DateJanuary 29, 2017 (2017-01-29) 7:55 p.m. (EST)TargetMusli...

American actor (1873–1964) For the non-related playwright and fellow actor, see Willard Mack. Wilbur MackMack in 1914BornGeorge Frear Runyon(1873-07-29)July 29, 1873Binghamton, New York City, U.S.DiedMarch 13, 1964(1964-03-13) (aged 90)Hollywood, California, U.S.Resting placeForest Lawn Memorial Park, Hollywood HillsOccupationActorYears active1899–1962Spouse(s)Nella Walker (m. 1910; div. 19??)Gertrude Purdy Wilbur Mack (born George Frear Runyon,[1] July 29, 1873 R...

 

American YouTuber (born 1986) MatPatPatrick on NickRewind's Fact or Nicktion in 2020BornMatthew Robert Patrick (1986-11-15) November 15, 1986 (age 37)Medina, Ohio, U.S.Alma materDuke University (BA)OccupationsInternet celebritydigital actor analytics strategistconsultantYears active2006–presentSpouse Stephanie Cordato ​(m. 2012)​Children1YouTube informationChannel The Game Theorists Years active2011–presentSubscribers 17.9 million (main cha...

 

Bangladesh Export Processing Zones Authority (BEPZA)Agency overviewJurisdictionGovernment of BangladeshHeadquartersBEPZA Complex, House no- 19/D, Rd No. 6, Green Rd, Dhaka 1205Agency executivesSheikh Hasina (Prime Minister of Bangladesh), Governing ChairmanMajor General Abul Kalam Mohammad Ziaur Rahman, ndc, psc, Executive ChairmanParent departmentPrime Minister's OfficeWebsitewww.bepza.gov.bd The Bangladesh Export Processing Zones Authority (BEPZA) (Bengali: বাংলাদেশ রপ...

كنيسة كاثوليكيَّة في بونير. وفقًا لإحصائية المكتب المركزي للإحصاء الهولندي عام 2014 يعتنق أغلب سكان بونير المسيحية دينًا (84%)،[1] على المذهب الروماني الكاثوليكي (68%) ويليهم أتباع المذهب البروتستانتي (16%).[2] وينضوي كاثوليك البلاد إلى أبرشية ويلمستاد الكاثوليكية والتي ت...

 

Park Centralny w Bydgoszczy Państwo  Polska Miejscowość Bydgoszcz Dzielnica Wzgórze Wolności Powierzchnia 6,22 ha Data założenia 1974 Położenie na mapie BydgoszczyPark Centralny w Bydgoszczy Położenie na mapie PolskiPark Centralny w Bydgoszczy Położenie na mapie województwa kujawsko-pomorskiegoPark Centralny w Bydgoszczy 53°07′08″N 18°01′47″E/53,118889 18,029722 Multimedia w Wikimedia Commons Widok z bulwaru nad Brdą Zobacz galerię związaną z te...

 

ممرض أسرة ممارس Family Nurse Practitioner Lt. Cmdr. Michael Service cares for a young girl at the U.S. Naval Hospital (USNH) Yokosuka. فرع من ممرض ممارس  النوع مهنة المجال ممرض ممارس متقدم, طب الأسرة التعليم المطلوب Master of Science in Nursing or Doctor of Nursing Practice مهن متعلقة ممرضة قابلة معتمدة, ممرض مخدر, اختصاصي تمريض سريري تعديل مصدري - ت...

Džisr az-Zarká جـِسـْر الزرقاءג׳סר א-זרקאCelkový pohled na Džisr az-ZarkaPolohaSouřadnice32°32′17″ s. š., 34°54′44″ v. d.Nadmořská výška17 m n. m.StátIzrael IzraeldistriktHaifský Džisr az-Zarka Rozloha a obyvatelstvoRozloha1,603 km²[1]Počet obyvatel14 400 (2017[2])Hustota zalidnění9001,1 (r.2017) obyv./km²SprávaStarostaAz al-Din Amaš (עז א-דין עמאש)Vznik1926Oficiální webwww...

 

2010 في فلسطينمعلومات عامةالسنة 2010 2009 في فلسطين 2011 في فلسطين تعديل - تعديل مصدري - تعديل ويكي بيانات أحداث عام 2010 في فلسطين الحكم السياسي الرئاسة : محمود عباس رئاسة الوزراء : الضفة الغربية: سلام فياض (حكومة طوارئ) قطاع غزة: إسماعيل هنية (حكومة مقالة) تعيينات في 9 مارس 2010، عُي...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!