ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² ΡƒΡ‡Ρ‘Π±Π΅, ΠΎΡ‡Π΅Π½ΡŒ быстро...
Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ вмСстС Π΄ΠΎ ΠΏΠΎΠ±Π΅Π΄Ρ‹

БистСма бСзопасности Java

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π’ ΠΎΡΠ½ΠΎΠ²Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java Π»Π΅ΠΆΠΈΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрная модСль, Π° Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… выполняСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. На ΡΡ‚ΠΎΡ€ΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ Π±Π»ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π±Π»ΠΎΠΊΠΈ хранятся Π² ΠΊΡΡˆΠ΅ Π½Π° ΠΆΠ΅ΡΡ‚ΠΊΠΎΠΌ дискС ΠΈΠ»ΠΈ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±Π»ΠΎΠΊ загруТаСтся… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

БистСма бСзопасности Java (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

НиТСгородский государствСнный тСхничСский унивСрситСт Π˜Π½ΡΡ‚ΠΈΡ‚ΡƒΡ‚ радиоэлСктроники ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠšΠ°Ρ„Π΅Π΄Ρ€Π° «Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΈ ΡΠΈΡΡ‚Π΅ΠΌΡ‹ управлСния»

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΡΡ€Π΅Π΄ΡΡ‚Π²Π° Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π Π΅Ρ„Π΅Ρ€Π°Ρ‚

«Π‘истСма бСзопасности Java»

НиТний Новгород, 2007

1. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Java

2. Π—Π°Ρ‰ΠΈΡ‚Π° Java-Π°ΠΏΠ»Π΅Ρ‚ΠΎΠ²

3. МодСль бСзопасности JDK1.2

4. ΠšΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Java

5. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ организация ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² бСзопасности Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

1. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Java

Π’ ΠΎΡΠ½ΠΎΠ²Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java Π»Π΅ΠΆΠΈΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрная модСль, Π° Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… выполняСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. На ΡΡ‚ΠΎΡ€ΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ Π±Π»ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π±Π»ΠΎΠΊΠΈ хранятся Π² ΠΊΡΡˆΠ΅ Π½Π° ΠΆΠ΅ΡΡ‚ΠΊΠΎΠΌ дискС ΠΈΠ»ΠΈ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±Π»ΠΎΠΊ загруТаСтся с ΡΠ΅Ρ€Π²Π΅Ρ€Π°, Ρ‚ΠΎ ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ систСмой ΠΌΠΎΠΆΠ½ΠΎ с ΡΠ΅Ρ€Π²Π΅Ρ€Π°, Ρ‚. Π΅. Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎ. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ всСгда Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ°ΠΌΡƒΡŽ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Основной ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ этой Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ — Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Java-процСссор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой срСду для исполнСния Java-ΠΊΠΎΠΌΠ°Π½Π΄, ΠΈΠ»ΠΈ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ΠΎΠ². Π›ΡŽΠ±Π°Ρ Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ спСцификации Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Java-процСссора, которая ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ опрСдСляСт систСму ΠΊΠΎΠΌΠ°Π½Π΄ Java, Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Java-процСссором, ΠΈ Π΅Π³ΠΎ рСгистры.

ΠšΡ€ΠΎΠΌΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора, тСхнология Java Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ (Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ элСмСнта) ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования, построСнный Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ языка C++, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ для обСспСчСния бСзопасности ΠΈ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… вычислСний.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Java ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π°ΠΏΠ»Π΅Ρ‚Ρ‹. АплСт — это нСбольшая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΊΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ нСсколько ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. АплСт загруТаСтся ΠΏΠΎ ΡΠ΅Ρ‚ΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π° Web-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ язык Java. ИмСнно эта Ρ‡Π°ΡΡ‚ΡŒ Java-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для использования Π²ΠΎ Π²ΡΠ΅ΠΌΠΈΡ€Π½ΠΎΠΉ сСти Internet, ΠΈ ΠΏΠΎΡΡ‚ΠΎΠΌΡƒ Π·Π°Ρ‰ΠΈΡ‚Π° Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π½Π° ΡΠ°ΠΌ Π°ΠΏΠ»Π΅Ρ‚, Ρ‚Π°ΠΊ ΠΈ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° сСти, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ этот Π°ΠΏΠ»Π΅Ρ‚.

2. Π—Π°Ρ‰ΠΈΡ‚Π° Java-Π°ΠΏΠ»Π΅Ρ‚ΠΎΠ²

НаиболСС уязвимыми с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния бСзопасности ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ Java-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π°ΠΏΠ»Π΅Ρ‚Ρ‹, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΡ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой ΠΊΠ»ΠΈΠ΅Π½Ρ‚. ИмСнно поэтому для Π°ΠΏΠ»Π΅Ρ‚ΠΎΠ² прСдусмотрСны самыС ТСсткиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π·Π°Ρ‰ΠΈΡ‚Ρ‹. Π₯отя Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ просмотра Π°ΠΏΠ»Π΅Ρ‚ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Π·Π°Ρ‰ΠΈΡ‰Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΡ‚ Π½Π°ΠΏΠ°Π΄Π΅Π½ΠΈΡ, Π½ΠΎ Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС Π°ΠΏΠ»Π΅Ρ‚Ρƒ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Β· Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ, ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Ρ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹;

Β· ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΡ… ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅;

Β· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ сущСствованиС ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°;

Β· ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ доступ ΠΏΠΎ ΡΠ΅Ρ‚ΠΈ ΠΊ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ;

Β· ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ список сСтСвых сСансов связи, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ устанавливаСт Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ;

Β· ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ свСдСния ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ ΠΈΠ»ΠΈ Π΅Π³ΠΎ домашнСй Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ;

Β· Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Java;

Π­Ρ‚ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Java-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.

Β· БобствСнно Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Java-процСссор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ постоянно ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ своС состояниС.

Β· Π—Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ Π°ΠΏΠ»Π΅Ρ‚ΠΎΠ² ΠΈ Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Π΅ ΠΊΠΎΠ΄Ρ‹.

Β· ДиспСтчСр бСзопасности (Secu-rityManager), ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ опасныС дСйствия Π°ΠΏΠ»Π΅Ρ‚ΠΎΠ².

Π’ ΠΊΠ»Π°ΡΡΠ΅ SecurityManager пСрСчислСны ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ систСмой для контроля дСйствий Π°ΠΏΠ»Π΅Ρ‚Π° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Ρ…арактСристик ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅ΠΉ срСды Ѐункция Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° — вСрификация Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ΠΎΠ², Ρ‚. Π΅. ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ элСмСнта Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π΅Π³ΠΎ цСлостности. Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ выясняСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Β· соотвСтствуСт Π»ΠΈ вСрсия ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° вСрсиям ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов систСмы;

Β· соотвСтствуСт Π»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° спСцификации ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Java-процСссора;

ЦСлями Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ выявлСниС Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ использования косвСнной адрСсации, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡŽ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора, ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° цСлостности Π°ΠΏΠ»Π΅Ρ‚Π°.

Π—Π°Ρ‰ΠΈΡ‚Π½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ этой Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π½Ρ‹, Π½ΠΎ ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π΅Ρ‰Π΅ Π΄Π°Π»Π΅ΠΊΠ° ΠΎΡ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°Π»Π΅Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ нСбольшой список Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… «Π½Π°ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ» .

Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° сСрвиса

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ этого частично ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ блокируСтся Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π²Π΅Π΄Π΅Π½ ΠΈΠ· ΡΡ‚роя Π±Ρ€Π°ΡƒΠ·Π΅Ρ€. Π’ΠΎΡ‚ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ список Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ‚Π°ΠΊΠΎΠ³ΠΎ «Π½Π°ΠΏΠ°Π΄Π΅Π½ΠΈΡ» :

Β· Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° процСссора бСссмыслСнными дСйствиями;

Β· Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ всСй свободной памяти;

Β· Π·Π°Ρ…Π²Π°Ρ‚ Π²Π°ΠΆΠ½Ρ‹Ρ… систСмных классов.

" Π’Π°ΠΉΠ½Ρ‹Π΅" ΠΊΠ°Π½Π°Π»Ρ‹

Π­Ρ‚ΠΈ ΠΊΠ°Π½Π°Π»Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π΄Π°ΠΆΠ΅ Ρ‡Π΅Ρ€Π΅Π· систСму Π·Π°Ρ‰ΠΈΡ‚Ρ‹ (брандмауэры). БущСствованиС «Ρ‚Π°ΠΉΠ½Ρ‹Ρ…» ΠΊΠ°Π½Π°Π»ΠΎΠ² Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΎΡ‡Π΅Π½ΡŒ опасным. Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ «Ρ‚Π°ΠΉΠ½ΠΎΠ³ΠΎ» ΠΊΠ°Π½Π°Π»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия Π°ΠΏΠ»Π΅Ρ‚ΠΎΠ²:

Β· посылку ΠΏΠΎΡ‡Ρ‚Ρ‹ Ρ‡Π΅Ρ€Π΅Π· SMTP-ΠΏΠΎΡ€Ρ‚ сСрвСра (ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΏΠΎΡ‡Ρ‚Π° посылаСтся ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π°ΠΏΠ»Π΅Ρ‚ΠΎΠΌ);

Β· запрос Π½Π° ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ URL-адрСсу, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ «Π²Π·Π»ΠΎΠΌΡ‰ΠΈΠΊΡƒ» Π΄Π°Π½Π½Ρ‹Π΅;

Β· ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ доступа ΠΏΠΎ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ адрСсу (ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅).

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ, извСстная Π°ΠΏΠ»Π΅Ρ‚Π°ΠΌ

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ свСдСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ впослСдствии ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для «Π²Π·Π»ΠΎΠΌΠ°». Π­Ρ‚Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ Ρ‡Π΅Ρ€Π΅Π· брандмауэры ΠΏΠΎ Ρ‚Π°ΠΉΠ½Ρ‹ΠΌ ΠΊΠ°Π½Π°Π»Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ описаны Π²Ρ‹ΡˆΠ΅. АплСтам ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ извСстна ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ систСмная информация:

Β· систСмноС врСмя;

Β· Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ Π²Π΅Ρ€ΡΠΈΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы;

Β· Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° процСссора.

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ баланс ΠΌΠ΅ΠΆΠ΄Ρƒ возмоТностями Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Ρ… Π°ΠΏΠ»Π΅Ρ‚ΠΎΠ² ΠΈ Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ клиСнтской систСмы довольно слоТно. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСзависимыми ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΡ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠΉ пСрСносимости Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

3. МодСль бСзопасности JDK1.2

Π’ Java-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ прСдусмотрСн Ρ†Π΅Π»Ρ‹ΠΉ ряд Π·Π°Ρ‰ΠΈΡ‚Π½Ρ‹Ρ… Ρ€ΡƒΠ±Π΅ΠΆΠ΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Ρ‚Ρ€ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹:

Β· Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ языка;

Β· ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ;

Β· ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Java обСспСчиваСт Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π·Π° ΡΡ‡Π΅Ρ‚ срСдств статичСского ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΎΠ³ΠΎ контроля. Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ Java — автоматичСскоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ появлСниС «Π²ΠΈΡΡΡ‡ΠΈΡ…» ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ носит Π² Java многоступСнчатый Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ½Π°Π±ΠΆΠ°Ρ‚ΡŒΡΡ элСктронной подписью, Ρ‡Ρ‚ΠΎ позволяСт ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ΠΎΠ², ΠΊΡ€ΠΎΠΌΠ΅ ΠΎΠ±Ρ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΠ²ΡˆΠ΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, пытаСтся ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² ΠΎΡ‚сутствии ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… дСйствий:

Β· ΠΏΠΎΠ΄Π΄Π΅Π»ΠΊΠ° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ указатСля ΠΊΠ°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния арифмСтичСской ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ);

Β· Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π² доступа ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ классов;

Β· Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с Π½Π΅Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΠΌΡ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²;

Β· нСдопустимоС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ²;

Β· ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ исчСрпаниС стСка.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π° уровня. На Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ Java-машина Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°Π΅Ρ‚ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ² Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ массивов ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Ρ… Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… дСйствий. На Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ бСзопасности выполняСт ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ правомСрности доступа, рСализуя Ρ‚Π΅ΠΌ самым Π²Ρ‹Π±Ρ€Π°Π½Π½ΡƒΡŽ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ бСзопасности.

Если ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈ ΡƒΡ€ΠΎΠ²Π½ΠΈ, Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π° аспСкта Java-бСзопасности:

Β· Π·Π°Ρ‰ΠΈΡ‚Π° Java-окруТСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния ΠΈ Ρ€Π΅ΡΡƒΡ€ΡΠΎΠ² Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΡ‚ Π²Ρ€Π΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния;

Β· Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ доступа ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΊ Ρ€Π΅ΡΡƒΡ€ΡΠ°ΠΌ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ уровня.

Основная Ρ†Π΅Π»ΡŒ ΠΌΠ΅Ρ€ бСзопасности Π² Java — ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρƒ Java-окруТСния ΠΎΡ‚ Π²Ρ€Π΅Π΄ΠΎΠ½ΠΎΡΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Для достиТСния этой Ρ†Π΅Π»ΠΈ Π±Ρ‹Π»Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° концСпция «ΠΏΠ΅ΡΠΎΡ‡Π½ΠΈΡ†Ρ‹» (sandbox) — Π·Π°ΠΌΠΊΠ½ΡƒΡ‚ΠΎΠΉ срСды, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΡΡ‡ΠΈΡ‚Π°Π»ΠΈΡΡŒ Π°ΠΏΠ»Π΅Ρ‚Ρ‹, ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΠ²ΡˆΠΈΠ΅ ΠΏΠΎ ΡΠ΅Ρ‚ΠΈ. Π’Π΅ΡΡŒ «Ρ€ΠΎΠ΄Π½ΠΎΠΉ» ΠΊΠΎΠ΄ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅) считался Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ ΠΈ Π΅ΠΌΡƒ Π±Ρ‹Π»ΠΎ доступно всС, Ρ‡Ρ‚ΠΎ доступно Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Java-машинС.

Π’ Ρ‡ΠΈΡΠ»ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ, Π½Π°Π»Π°Π³Π°Π΅ΠΌΡ‹Ρ… «ΠΏΠ΅ΡΠΎΡ‡Π½ΠΈΡ†Π΅ΠΉ», Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π°ΠΏΡ€Π΅Ρ‚ Π½Π° Π΄ΠΎΡΡ‚ΡƒΠΏ ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС, Π½Π° ΡΠ΅Ρ‚Π΅Π²ΠΎΠ΅ взаимодСйствиС со Π²ΡΠ΅ΠΌΠΈ хостами, ΠΊΡ€ΠΎΠΌΠ΅ источника Π°ΠΏΠ»Π΅Ρ‚Π° (хост, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π°ΠΏΠ»Π΅Ρ‚ Π±Ρ‹Π» ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½) ΠΈ Ρ‚. Π΄. ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΈΡ… ограничСниях Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΈ Ρ†Π΅Π»ΠΎΠΌ обСспСчиваСтся, Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρƒ Π°ΠΏΠ»Π΅Ρ‚ΠΎΠ² ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ ΠΎΡΡ‚аСтся.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с ΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, Π²Π²Π΅Π»ΠΈ понятиС элСктронной подписи, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ставит Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΠΈΡ‚Π΅Π»ΡŒ Π°ΠΏΠ»Π΅Ρ‚Π°. Java-машина Π² ΡΠΎΠΎΡ‚вСтствии со ΡΠ²ΠΎΠ΅ΠΉ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΎΠΉ бСзопасности Π΄Π΅Π»ΠΈΡ‚ распространитСлСй ΠΈ, соотвСтствСнно, ΠΈΡ… Π°ΠΏΠ»Π΅Ρ‚Ρ‹ Π½Π° Π΄Π²Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ — Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ ΠΈ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅. НадСТныС Π°ΠΏΠ»Π΅Ρ‚Ρ‹ Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΈΡ€Π°Π²Π½Π΅Π½Ρ‹ Π² ΠΏΡ€Π°Π²Π°Ρ… ΠΊ «Ρ€ΠΎΠ΄Π½ΠΎΠΌΡƒ» ΠΊΠΎΠ΄Ρƒ.

ΠžΡ„ΠΎΡ€ΠΌΠΈΠ»ΠΈΡΡŒ Ρ‚Ρ€ΠΈ основных понятия:

Β· источник ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;

Β· ΠΏΡ€Π°Π²ΠΎ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΏΡ€Π°Π²;

Β· ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° бСзопасности.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ опрСдСляСтся ΠΏΠ°Ρ€ΠΎΠΉ (ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π»ΠΎΠΊΠ°Ρ‚ΠΎΡ€ рСсурсов — URL, распространитСли ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹). URL ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Ρ„Π°ΠΉΠ» Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС ΠΈΠ»ΠΈ ΠΆΠ΅ Π½Π° Ρ€Π΅ΡΡƒΡ€Ρ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ систСмы.

ΠŸΡ€Π°Π²ΠΎ — это абстрактноС понятиС, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π² Java, стоят классы ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΏΡ€Π°Π²ΠΎ опрСдСляСтся двумя Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°ΠΌΠΈ символов — ΠΈΠΌΠ΅Π½Π΅ΠΌ рСсурса ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΠ΅ΠΌ. НапримСр, Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ рСсурса ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ», Π° Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ дСйствия — Ρ‡Ρ‚Π΅Π½ΠΈΠ΅.

ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° бСзопасности Π·Π°Π΄Π°Π΅Ρ‚ соотвСтствиС ΠΌΠ΅ΠΆΠ΄Ρƒ источником ΠΈ ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΠ²ΡˆΠΈΡ… ΠΈΠ· Π½Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. «Π ΠΎΠ΄Π½Ρ‹Π΅» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ Π² ΠΏΠ»Π°Π½Π΅ бСзопасности ΠΈ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Π½ΠΈΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любой.

По ΡΡƒΡ‚ΠΈ имССтся Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ для соврСмСнных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм ΠΈ ΡΠΈΡΡ‚Π΅ΠΌ управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΡ€Π°Π² доступа со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ особСнностями:

Β· Π‘ΡƒΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ доступа являСтся Π½Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, Π° ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΅Π΅ ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ становится;

Β· НСт понятия Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° рСсурса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ (Π²Π»Π°Π΄Π΅Π»Π΅Ρ†) ΠΌΠΎΠ³ Π±Ρ‹ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡ€Π°Π²Π°; послСдниС Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΎΠΉ бСзопасности.

МодСль бСзопасности Π² JDK 1.2

4. ΠšΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Java

Π‘Π΅Π· ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ надСТная аутСнтификация, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ цСлостности ΠΈ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠšΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Java (Java Cryptography Architecture, JCA) Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° для прСдоставлСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… сСрвисов:

Β· постановка/ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° элСктронной подписи;

Β· вычислСниС Ρ…ΡΡˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ;

Β· гСнСрация ΠΏΠ°Ρ€ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ/сСкрСтный;

Β· созданиС сСртификатов, ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰ΠΈΡ… Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ;

Β· Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ сСртификатов Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€ΠΎΠ²;

Β· ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈΠ· ΠΏΡ€Π΅Π΄ΡΡ‚авлСния со ΡΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ структурой Π² ΠΎΠ±Ρ‰Π΅ΠΏΠΎΠ½ΡΡ‚Π½ΠΎΠ΅ прСдставлСниС ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚;

Β· гСнСрация ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² криптографичСских Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²;

Β· гСнСрация (псСвдо)случайных чисСл;

Β· симмСтричноС ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅;

Β· Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, криптографичСская Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ тСхнологичСским трСбованиям:

Β· ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈ ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ;

Β· ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π²Π·Π°ΠΈΠΌΠ½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ;

Β· ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈ ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ сСрвис ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ нСсколькими Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…, Π² ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ. НапримСр, для вычислСния Ρ…ΡΡˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ MD5/SHA-1 (Ρ€Π°Π²Π½ΠΎ ΠΊΠ°ΠΊ ΠΈ Ρ€ΠΎΡΡΠΈΠΉΡΠΊΠΈΠΉ Π“ΠžΠ‘Π’ «Π€ΡƒΠ½ΠΊΡ†ΠΈΡ Ρ…ΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ»), для Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ элСктронной подписи — Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ RSA/DSA, российский Π“ΠžΠ‘Π’ «ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ элСктронной Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи» ΠΈ Ρ‚. Π΄.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ интСрфСйс сСрвисов построСн Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚мичСски-нСзависимой Ρ„ΠΎΡ€ΠΌΠ΅. Для обозначСния Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ понятиС поставщика криптографичСских услуг — ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², содСрТащих Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ ΠΏΠΎΡΡ‚Π°Π²Ρ‰ΠΈΠΊΠΎΠ² услуг ΠΈΠ· Ρ‡ΠΈΡΠ»Π° доступных.

Π”Π²Π° послСдних элСмСнта Π² ΡΠΏΠΈΡΠΊΠ΅ сСрвисов (симмСтричноС ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°) ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Ρ‹ экспортным ограничСниям БША, поэтому ΠΎΠ½ΠΈ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… пСрСчислСнных сСрвисов, ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Ρ‹ ΠΊΠ°ΠΊ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ (Java Cryptography Extension, JCE), ΡΠ²Π»ΡΡŽΡ‰Π΅Π΅ΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ.

Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ криптографичСских сСрвисов, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ

5. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ организация ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² бСзопасности

java Π°ΠΏΠ»Π΅Ρ‚ Π·Π°Ρ‰ΠΈΡ‚Π° криптографичСский ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ бСзопасности Π² JDK 1.2 ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Ρ‹ Π² Π²ΠΈΠ΄Π΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… основных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ Ρ‚Ρ€Π΅Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ. Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…

Β· java.security — содСрТит интСрфСйсы ΠΈ ΠΊΠ»Π°ΡΡΡ‹, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ каркас ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² бСзопасности. Бюда входят рассмотрСнныС Π²Ρ‹ΡˆΠ΅ срСдства разграничСния доступа, Π° Ρ‚Π°ΠΊΠΆΠ΅ криптографичСскиС срСдства, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° элСктронной подписи, вычислСниС Ρ…ΡΡˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚. ΠΏ.

Β· java.security.interfaces — срСдства Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ RSAΠΈ DSA-ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.

Β· javax.crypto — интСрфСйс ΠΈ ΠΊΠ»Π°ΡΡΡ‹ для симмСтричного ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.

НаиболСС Π²Π°ΠΆΠ½Ρ‹Π΅ с ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния интСрфСйсы ΠΈ ΠΊΠ»Π°ΡΡΡ‹ сосрСдоточСны Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ java.security.

ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° бСзопасности

ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° бСзопасности Π² ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ соотвСтствиС ΠΌΠ΅ΠΆΠ΄Ρƒ источниками ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ ΠΈΡ… ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа. Π’ Java-машинС Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠ½Π° прСдставлСна ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ класса, ΡΠ²Π»ΡΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΏΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊΠΎΠΌ абстрактного класса Policy. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса Policy ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ/ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° доступа, ассоциированныС с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ источником ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€Π°Π² доступа

Для контроля ΠΏΡ€Π°Π² доступа ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ двумя срСдствами:

Β· встроСнным ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ бСзопасности, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ AccessController;

Β· динамичСски измСняСмым ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ бСзопасности — SecurityManager.

Класс AccessController прСдоставляСт Π΅Π΄ΠΈΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²Π° Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ контСкстС — checkPermission.

ΠšΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ интСрфСйсы ΠΈ ΠΊΠ»Π°ΡΡΡ‹

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ организация криптографичСской подсистСмы Java СстСствСнным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΎΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ. ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ сСрвису соотвСтствуСт абстрактный класс, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π΅Π³ΠΎ (сСрвиса) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ интСрфСйс, Π° Ρ‚Π°ΠΊΠΆΠ΅ класс, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ интСрфСйс поставщика сСрвиса. Π’Π°ΠΆΠ½Ρ‹ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ классы Provider ΠΈ Security. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ собраны ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ поставщиков криптографичСских услуг, Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ — ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ управлСния поставщиками ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².

Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

1. http://www.jetinfo.ru/1998/11−12/1/article1.11−12.19 981 237.html

2. http://vestnik.sci.pfu.edu.ru/archiv-cs/articles-cs/2004;3−1/pdf/kulyabov-2004.pdf

3. http://ru.wikipedia.org/wiki/Java

4. http://infocity.kiev.ua/hack/content/hack081.phtml

5. http://citforum.uar.net/security/web/java_seq.shtml

6. http://www.htc-cs.ru/press/tribune/java.html

7. http://www.ccc.ru/magazine/depot/0011/print.html?web3.htm

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ