Fianl Projcet.pdf

‫ﺑﻪ ﻧﺎم ﺧﺪا‬
‫‪ ‬‬
‫داﻧﺸﻜﺪهي ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ‬
‫اﻣﻨﻴﺖ داده و ﺷﺒﻜﻪ‬
‫ﭘﺮوژهي ﭘﺎﻳﺎﻧﻲ‬
‫‪ 10‬دي ‪90‬‬
‫ﻗﺒﻞ از ﺷﺮوع ﺑﻪ اﻧﺘﺨﺎب ﻣﻮﺿﻮع ﺣﺘﻤﺎً ﻓﺎﻳﻞ راﻫﻨﻤﺎي اﻧﺘﺨﺎب ﭘﺮوژه ‪ projectGuide.pdf‬را ﺑﻪ دﻗﺖ ﻣﻄﺎﻟﻌﻪ ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫ﭘﺮوژهﻫﺎي ﭘﻴﺸﻨﻬﺎدي‬
‫ﭘﻴﺎﻣﻚ اﻣﻦ‬
‫ﻫﻤﺎن ﻃﻮر ﻛﻪ ﻣﻴﺪاﻧﻴﺪ ﺑﺴﺘﺮ ارﺳﺎل و درﻳﺎﻓﺖ ﭘﻴﺎﻣﻚ اﻣﻦ ﻧﺒﻮده و ﻣﻬﺎﺟﻢ ﻣﻲﺗﻮاﻧﺪ ﺑﺎ ﺷﻨﻮد ﭘﻴﺎﻣﻚﻫﺎ در ﺑﻴﻦ راه ﻣﺤﺘﻮاي آﻧﻬﺎ را‬
‫ﺑﺨﻮاﻧﺪ و ﻳﺎ آن را ﺗﻐﻴﻴﺮ دﻫﺪ‪ .‬ﻫﺪف اﻳﻦ ﭘﺮوژه اﻣﻦﺳﺎزي ارﺗﺒﺎط ﭘﻴﺎﻣﻜﻲ ﺷﻤﺎ ﺑﺎ دوﺳﺘﺎﻧﺘﺎن اﺳﺖ‪ .‬ﺑﺮاي رﺳﻴﺪن ﺑﻪ اﻳﻦ ﻫﺪف‬
‫ﺑﺎﻳﺴﺘﻲ ﭘﺮوﺗﻜﻠﻲ ﻃﺮاﺣﻲ ﻧﻤﺎﻳﻴﺪ ﻛﻪ وﻳﮋﮔﻲﻫﺎي ﻣﺤﺮﻣﺎﻧﮕﻲ‪ ،‬ﺻﺤﺖ و ﻋﺪم اﻧﻜﺎر را ﻓﺮاﻫﻢ آورد‪ .‬ﻳﻚ روش ﺳﺎده ﺑﺮاي اﻳﻦ ﻛﺎر‬
‫اﺳﺘﻔﺎده از رﻣﺰﻧﮕﺎري ﺑﻪ ﻫﻤﺮاه اﻣﻀﺎي دﻳﺠﻴﺘﺎل اﺳﺖ‪ .‬از آنﺟﺎ ﻛﻪ رﻣﺰﻧﮕﺎري دادهﻫﺎي ﭘﻴﺎﻣﻚ ﺑﺎ رﻣﺰ ﻧﺎﻣﺘﻘﺎرن ﺑﺮ روي ﭘﺮدازﻧﺪه‬
‫ﮔﻮﺷﻲ ﺑﻬﻴﻨﻪ ﻧﻴﺴﺖ‪ ،‬راهﻛﺎر راﻳﺞ ﺑﺮاي اﻳﻦ ﻛﺎر اﺳﺘﻔﺎده از رﻣﺰﻧﮕﺎري ﻛﻠﻴﺪ ﺧﺼﻮﺻﻲ و ﺳﭙﺲ ارﺳﺎل ﻛﻠﻴﺪ ﺑﻪ ﻛﻤﻚ رﻣﺰﻧﮕﺎري‬
‫ﻧﺎﻣﺘﻘﺎرن اﺳﺖ‪ .‬ﺑﻨﺎﺑﺮاﻳﻦ اﻳﻦ ﭘﺮوﺗﻜﻞ ﻣﺮاﺣﻞ اﺳﺎﺳﻲ زﻳﺮ را ﺧﻮاﻫﺪ داﺷﺖ‪:‬‬
‫‪‬‬
‫درﻳﺎﻓﺖ دادهﻫﺎ ﺑﺮاي ارﺳﺎل‬
‫‪‬‬
‫درﻳﺎﻓﺖ و ﻧﮕﻬﺪاري ﻛﻠﻴﺪﻫﺎي ﻋﻤﻮﻣﻲ ﻓﺮﺳﺘﻨﺪه و ﮔﻴﺮﻧﺪه در ﻗﺎﻟﺐ ﮔﻮاﻫﻲﻫﺎي ‪X.509‬‬
‫‪‬‬
‫ﺗﻮﻟﻴﺪ ﻛﻠﻴﺪ رﻣﺰﻧﮕﺎري ﻣﺘﻘﺎرن و رﻣﺰﮔﺬاري دادهﻫﺎ از ﻃﺮﻳﻖ آن‬
‫‪‬‬
‫رﻣﺰﻧﮕﺎري ﻛﻠﻴﺪ رﻣﺰ ﻣﺘﻘﺎرن ﺑﺎ ﻛﻠﻴﺪ ﻋﻤﻮﻣﻲ ﮔﻴﺮﻧﺪه‬
‫‪‬‬
‫اﻣﻀﺎي دﻳﺠﻴﺘﺎل دادهﻫﺎ ﺑﺎ ﻛﻠﻴﺪ ﺧﺼﻮﺻﻲ ﻓﺮﺳﺘﻨﺪه‬
‫‪‬‬
‫ارﺳﺎل و درﻳﺎﻓﺖ دادهﻫﺎ و ﻛﻠﻴﺪ رﻣﺰﺷﺪه از ﻃﺮﻳﻖ ﭘﻴﺎﻣﻚ‬
‫‪‬‬
‫رﻣﺰﮔﺸﺎﻳﻲ دادهﻫﺎ و ﺑﺮرﺳﻲ ﺻﺤﺖ اﻣﻀﺎ‬
‫ﻫﻤﺎنﻃﻮر ﻛﻪ ﻣﺸﺨﺺ اﺳﺖ‪ ،‬ﭘﻴﺎدهﺳﺎزي ﭘﺮوژه ﺑﺮاي اﺳﺘﻔﺎده در ﮔﻮﺷﻲ ﺗﻠﻔﻦ ﻫﻤﺮاه و ﺑﻪ ﻛﻤﻚ ﻣﺤﻴﻂﻫﺎي ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﻧﻈﻴﺮ‬
‫‪ Java ME‬اﻧﺠﺎم ﻣﻲﺷﻮد‪ .‬ﻫﻤﭽﻨﻴﻦ اﺳﺘﻔﺎده از ‪API‬ﻫﺎﻳﻲ ﻧﻈﻴﺮ ‪ Bouncy Castle‬و ‪ SATSA‬ﻣﺠﺎز اﺳﺖ‪ .‬ﺗﺤﻮﻳﻞ ﭘﺮوژه ﺑﺮ روي‬
‫ﮔﻮﺷﻲ ﺗﻠﻔﻦ ﻫﻤﺮاه ﻳﺎ ﻳﻚ ﺷﺒﻴﻪﺳﺎز اﻧﺠﺎم ﺧﻮاﻫﺪ ﺷﺪ و ﺑﺮﻧﺎﻣﻪ ﺗﻮﻟﻴﺪ ﺷﺪه ﺑﺎﻳﺴﺘﻲ ﺑﻪ راﺣﺘﻲ و ﺑﺪون دردﺳﺮ ﺗﻮﺳﻂ ﻣﺸﺘﺮي‬
‫اﺳﺘﻔﺎده ﮔﺮدد‪ .‬ﺑﺮاي ارﺳﺎل و درﻳﺎﻓﺖ ﭘﻴﺎﻣﻚ ﻧﻴﺰ ﻣﻴﺘﻮاﻧﻴﺪ از ﺗﻮاﺑﻊ وﻛﺪﻫﺎي ﻣﻮﺟﻮد ‪ J2ME‬اﺳﺘﻔﺎده ﻛﻨﻴﺪ‪.‬‬
‫‪ ‬‬
‫اﻣﻨﻴﺖ داده و ﺷﺒﻜﻪ‬
‫‪ ‬ﭘﺮوژهي ﭘﺎﻳﺎن ﺗﺮم‬
‫‪ 10 ‬دي ‪90‬‬
‫‪ ‬‬
‫ﻻزم ﺑﻪ ﺗﺬﻛﺮ اﺳﺖ ﻛﻪ اﺳﺘﻔﺎده از ﻣﺤﻴﻂﻫﺎي دﻳﮕﺮ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ روي ﻣﻮﺑﺎﻳﻞ ﻣﺎﻧﻨﺪ ‪ iOS ،Android ،Symbian‬و‪ ...‬ﻧﻴﺰ ﻣﺠﺎز و‬
‫ﻣﻮرد اﺳﺘﻘﺒﺎل اﺳﺖ‪ ،‬اﻣﺎ در آن ﺻﻮرت ﺑﺮاي ﻳﺎﻓﺘﻦ ﻛﺘﺎﺑﺨﺎﻧﻪﻫﺎي ﻣﺠﺎز و ﻛﻤﻜﻲ ﺑﺎﻳﺪ ﺧﻮدﺗﺎن ﺑﺎ ﺣﻞ ﺗﻤﺮﻳﻦﻫﺎي درس ﻫﻤﺎﻫﻨﮕﻲ‬
‫اﻧﺠﺎم دﻫﻴﺪ‪.‬‬
‫‪ ٢‬‬
‫‪ ‬‬
‫اﻣﻨﻴﺖ داده و ﺷﺒﻜﻪ‬
‫‪ ‬ﭘﺮوژهي ﭘﺎﻳﺎن ﺗﺮم‬
‫‪ 10 ‬دي ‪90‬‬
‫‪ ‬‬
‫رﻣﺰ ﻋﺒﻮر ﻳﻚﺑﺎر ﻣﺼﺮف‬
‫رﻣﺰ ﻋﺒﻮر ﻳﻚﺑﺎر ﻣﺼﺮف‪ 1‬را ﻣﻲﺗﻮان ﻛﻠﻴﺪي در ﻧﻈﺮ ﮔﺮﻓﺖ ﻛﻪ اﻋﺘﺒﺎر آن ﺗﻨﻬﺎ ﺑﺮاي ﻳﻚﺑﺎر ورود ﺑﻪ ﻳﻚ ﺑﺨﺶ ﻳﺎ ﻳﻚﻣﺮﺗﺒﻪ اﻳﺠﺎد‬
‫ﻧﺸﺴﺖ اﺳﺖ‪ .‬ﻛﻠﻴﺪﻫﺎي داﺋﻤﻲ ﻣﻤﻜﻦ اﺳﺖ در ﻣﻌﺮض ﺧﻄﺮاﺗﻲ ﻫﻢﭼﻮن ﺣﻤﻠﻪي ﺗﻜﺮار ﻗﺮار ﮔﻴﺮﻧﺪ و اﻳﺪهي رﻣﺰﻋﺒﻮر ﻳﻚﺑﺎر‬
‫ﻣﺼﺮف ﺑﻪ ﻋﻨﻮان روﺷﻲ ﺑﺮاي ﺑﺮﻃﺮف ﺳﺎﺧﺘﻦ اﻳﻦ ﻣﻌﺎﻳﺐ ﻣﻮرد ﺗﻮﺟﻪ ﻗﺮار ﮔﺮﻓﺖ‪ .‬ﻫﺪف از اﻳﻦ ﭘﺮوژه آﺷﻨﺎﻳﻲ ﺑﺎ رﻣﺰ ﻋﺒﻮر ﻳﻚﺑﺎر‬
‫ﻣﺼﺮف و ﺑﻪﻛﺎرﮔﻴﺮي ﻋﻤﻠﻲ آن اﺳﺖ‪ .‬ﺻﻮرت ﻣﺴﺌﻠﻪ ﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺖ‪:‬‬
‫ﺑﺎﻧﻚ ﺑﺮاي اﻣﻦﺳﺎزي ﺗﺮاﻛﻨﺶﻫﺎي اﻟﻜﺘﺮوﻧﻴﻜﻲ ﺧﻮد ﺗﺼﻤﻴﻢ ﮔﺮﻓﺘﻪ اﺳﺖ ورود ﻣﺸﺘﺮﻳﺎن ﺑﻪ وبﺳﺎﻳﺖ ﺧﻮد را ﺑﻪ ﻛﻤﻚ رﻣﺰﻋﺒﻮر‬
‫ﻳﻚﺑﺎر ﻣﺼﺮف اﻧﺠﺎم دﻫﺪ‪ .‬ﺑﺪﻳﻦ ﻣﻨﻈﻮر ﻫﺮ ﻳﻚ از ﻣﺸﺘﺮﻳﺎن ﺑﺮ روي ﮔﻮﺷﻲ ﺗﻠﻔﻦ ﻫﻤﺮاه ﺧﻮد ﺑﺮﻧﺎﻣﻪي ﺗﻮﻟﻴﺪ رﻣﺰﻋﺒﻮر را را ﻧﺼﺐ‬
‫ﻣﻲﻛﻨﺪ‪ .‬ﺳﻴﺴﺘﻢ ﻣﻮرد ﻧﻈﺮ ﺷﺎﻣﻞ دو ﺑﺨﺶ اﺳﺖ‪:‬‬
‫‪ -1‬ورود ﺑﻪ وبﺳﺎﻳﺖ ﺑﺎﻧﻚ‬
‫ﻣﺸﺘﺮي ﺑﻪ ﻣﻨﻈﻮر ورود ﺑﻪ وبﺳﺎﻳﺖ ﺑﺎﻧﻚ‪ ،‬از ﺑﺮﻧﺎﻣﻪي ذﺧﻴﺮه ﺷﺪه روي ﺗﻠﻔﻦ ﻫﻤﺮاه ﺧﻮد درﺧﻮاﺳﺖ رﻣﺰﻋﺒﻮر ﻣﻲﻛﻨﺪ‪.‬‬
‫اﻳﻦ ﺑﺮﻧﺎﻣﻪ ﺑﻪ ازاي ﻫﺮ درﺧﻮاﺳﺖ ﻣﺸﺘﺮي‪ ،‬ﺑﺎ ﺗﺮﻛﻴﺐ ﺳﻪ ﭘﺎراﻣﺘﺮ زﻣﺎن‪ ،‬ﺷﻨﺎﺳﻪي ﻣﺤﺮﻣﺎﻧﻪي ﻛﺎرﺑﺮ )‪ (PIN code‬و ﻛﻠﻴﺪ‬
‫ﻣﺤﺮﻣﺎﻧﻪي ذﺧﻴﺮه ﺷﺪه در ﺑﺮﻧﺎﻣﻪ و اﻋﻤﺎل ﺗﺎﺑﻊ ﭼﻜﻴﺪهﺳﺎز ‪ ،SHA1‬ﻳﻚ رﻣﺰﻋﺒﻮر ﻳﻚﺑﺎر ﻣﺼﺮف )ﺑﻪ ﺷﻜﻞ رﺷﺘﻪاي‬
‫اﻟﻔﺒﺎﻳﻲ ﺑﺎ ﻃﻮل ‪ 8‬ﻛﺎراﻛﺘﺮ( ﺗﻮﻟﻴﺪ ﻣﻲﻛﻨﺪ ﻛﻪ ﺑﻪ ﻣﺪت ‪ 1‬دﻗﻴﻘﻪ داراي اﻋﺘﺒﺎر ﻣﻲﺑﺎﺷﺪ‪ .‬ﻣﺸﺘﺮي ﺑﺎ وارد ﻛﺮدن ﺣﺴﺎب‬
‫ﻛﺎرﺑﺮي ﺧﻮد و اﻳﻦ رﻣﺰ ﻋﺒﻮر ﻣﻲﺗﻮاﻧﺪ وارد وبﺳﺎﻳﺖ ﺑﺎﻧﻚ ﺷﻮد‪.‬‬
‫‪ -2‬اﻧﺠﺎم ﺗﺮاﻛﻨﺶ ﻣﺎﻟﻲ‬
‫ﻣﺸﺘﺮي ﺑﻌﺪ از وارد ﺷﺪن ﺑﻪ ﺻﻔﺤﻪي ﺣﺴﺎب ﺧﻮد وارد ﺻﻔﺤﻪي اﻧﺘﻘﺎل وﺟﻪ ﻣﻲﺷﻮد‪ .‬در اﻳﻦ ﺻﻔﺤﻪ ﺳﻪ ورودي ﺑﺮاي‬
‫ورود ﻣﺒﻠﻎ اﻧﺘﻘﺎﻟﻲ‪ ،‬ﺷﻤﺎرهي ﺣﺴﺎب ﻣﻘﺼﺪ)ﮔﻴﺮﻧﺪه( و اﻣﻀﺎي ﻣﺸﺘﺮي وﺟﻮد دارد‪ .‬ﻋﻼوه ﺑﺮ اﻳﻦ وبﺳﺎﻳﺖ ﺑﺮاي ﻫﺮ‬
‫ﺗﺮاﻛﻨﺶ ﻳﻚ ﻛﺪ اﻣﻨﻴﺘﻲ ﻧﻴﺰ ﺗﻌﻴﻴﻦ ﻣﻲﻛﻨﺪ‪ .‬ﻣﺸﺘﺮي ﺑﺎﻳﺴﺘﻲ ﺑﺮاي اﻣﻀﺎي ﺗﺮاﻛﻨﺶ‪ ،‬ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺒﻠﻎ‪ ،‬ﺷﻤﺎرهي ﺣﺴﺎب‬
‫و ﻛﺪ اﻣﻨﻴﺘﻲ را وارد ﺑﺮﻧﺎﻣﻪي ﮔﻮﺷﻲ ﺗﻠﻔﻦ ﻫﻤﺮاه ﺧﻮد ﻣﻲﻛﻨﺪ‪ .‬ﺑﺮﻧﺎﻣﻪي ﮔﻮﺷﻲ ﺗﻠﻔﻦ ﻫﻤﺮاه ﺑﺎ اﺳﺘﻔﺎده از اﻳﻦ ﭘﺎراﻣﺘﺮﻫﺎ‬
‫و ﻛﻠﻴﺪ ﻣﺤﺮﻣﺎﻧﻪي ذﺧﻴﺮه ﺷﺪه در ﺑﺮﻧﺎﻣﻪ‪ ،‬ﺧﺮوﺟﻲ ‪ HMAC‬را ﻣﺤﺎﺳﺒﻪ ﻛﺮده و ﺑﻪ ﺻﻮرت رﺷﺘﻪاي از ﻛﺎراﻛﺘﺮﻫﺎ ﺑﻪ‬
‫ﻣﺸﺘﺮي ﺑﺎز ﻣﻲﮔﺮداﻧﺪ‪ .‬ﻣﺸﺘﺮي اﻳﻦ ﺧﺮوﺟﻲ را ﺑﻪ ﻋﻨﻮان اﻣﻀﺎي ﺧﻮد وارد وبﺳﺎﻳﺖ ﻣﻲﻛﻨﺪ و در ﺻﻮرت ﺻﺤﺖ اﻣﻀﺎ‬
‫ﺑﺎﻧﻚ اﻳﻦ ﺗﺮاﻛﻨﺶ را ﺑﺮاي ﻛﺎرﺑﺮ اﻧﺠﺎم ﻣﻲدﻫﺪ‪.‬‬
‫ﺑﻨﺎﺑﺮاﻳﻦ ﭘﺮوژه ﺷﺎﻣﻞ دو ﺑﺨﺶ اﺳﺖ‪:‬‬
‫‪‬‬
‫ﺑﺮﻧﺎﻣﻪي ﮔﻮﺷﻲ ﺗﻠﻔﻦ ﻫﻤﺮاه‪ :‬ﺑﻪ ﻣﻨﻈﻮر ﺗﻮﻟﻴﺪ رﻣﺰﻋﺒﻮر ﻳﻚﺑﺎر ﻣﺼﺮف و اﻣﻀﺎي ﺗﺮاﻛﻨﺶ اﺳﺘﻔﺎده ﻣﻲﺷﻮد‪.‬‬
‫‪‬‬
‫وبﺳﺎﻳﺖ و ﺳﺮور ﻣﺮﺑﻮط ﺑﻪ آن‪ :‬ﻫﻮﻳﺖ ﻛﺎرﺑﺮ در ﻫﻨﮕﺎم ورود ﺑﻪ ﺳﺎﻳﺖ و ﺻﺤﺖ اﻃﻼﻋﺎت ﺗﺮاﻛﻨﺶ را ﺑﺮرﺳﻲ ﻣﻲﻛﻨﺪ‪.‬‬
‫ﻋﻼوه ﺑﺮ اﻳﻦ ﻣﺪﻳﺮ ﺳﻴﺴﺘﻢ ﺗﻮاﻧﺎﻳﻲ ﺣﺬف و اﺿﺎﻓﻪي ﻛﺎرﺑﺮان را از ﻃﺮﻳﻖ وبﺳﺎﻳﺖ دارد‪.‬‬
‫ﻛﻠﻴﺪ ﻣﺤﺮﻣﺎﻧﻪي ذﺧﻴﺮه ﺷﺪه در ﮔﻮﺷﻲ ﻓﻘﻂ ﻳﻚ ﺑﺎر در ﻫﻨﮕﺎم راهاﻧﺪازي اوﻟﻴﻪ ﺑﺮﻧﺎﻣﻪ در آن ﻗﺮار داده ﻣﻲﺷﻮد‪ .‬در ﺳﻴﺴﺘﻢﻫﺎي‬
‫واﻗﻌﻲ اﻳﻦ ﻛﻠﻴﺪ ﺑﺎﻳﺴﺘﻲ ﺑﻪ ﻛﻤﻚ ﭘﺮوﺗﻜﻞ ﺗﻮاﻓﻖ ﻛﻠﻴﺪ‪ 2‬ﻣﻴﺎن ﮔﻮﺷﻲ ﺗﻠﻔﻦ ﻫﻤﺮاه و ﺳﺮور ﻣﺮﻛﺰي ﺑﺎﻧﻚ ﺑﻪ دﺳﺖ آﻳﺪ‪ .‬ﺑﻪ اﻳﻦ‬
‫‪ ‬‬
‫‪ One Time Password ١‬‬
‫‪ Key agreement ٢‬‬
‫‪ ٣‬‬
‫‪ ‬‬
‫اﻣﻨﻴﺖ داده و ﺷﺒﻜﻪ‬
‫‪ ‬ﭘﺮوژهي ﭘﺎﻳﺎن ﺗﺮم‬
‫‪ 10 ‬دي ‪90‬‬
‫‪ ‬‬
‫ﺻﻮرت ﻛﻪ ﮔﻮﺷﻲ از ﻃﺮﻳﻖ ارﺳﺎل ﭘﻴﺎﻣﻚ ﺑﻪ ﺳﺮور ﻣﺮﻛﺰي و درﻳﺎﻓﺖ ﺟﻮاب از آن‪ ،‬ﭘﺎراﻣﺘﺮﻫﺎي ﻻزم ﺑﺮاي ﺗﻮﻟﻴﺪ ﻛﻠﻴﺪ را ﺑﻪ دﺳﺖ‬
‫آورده و آن را اﻳﺠﺎد و ذﺧﻴﺮه ﻣﻲﻛﻨﺪ‪ .‬ﭘﻴﺎدهﺳﺎزي اﻳﻦ ﺑﺨﺶ ﻧﻤﺮهي اﺿﺎﻓﻪ ﺧﻮاﻫﺪ داﺷﺖ‪ .‬ﺑﺮاي ﺷﺒﻴﻪﺳﺎزي ارﺗﺒﺎط ﻣﻴﺎن ﮔﻮﺷﻲ و‬
‫ﺳﺮور ﻣﺮﻛﺰي ﻣﻲﺗﻮاﻧﻴﺪ ﻳﻚ ﮔﻮﺷﻲ ﺗﻠﻔﻦ ﻫﻤﺮاه دﻳﮕﺮ را ﺑﻪ ﻋﻨﻮان ﺳﺮور در ﻧﻈﺮ ﮔﺮﻓﺘﻪ و ﻛﺪ ﻣﺮﺑﻮط ﺑﻪ ﺳﺮور را ﺑﺮ روي آن ﻗﺮار‬
‫دﻫﻴﺪ‪.‬‬
‫ﻫﻤﺎنﻃﻮر ﻛﻪ ﻣﺸﺨﺺ اﺳﺖ‪ ،‬ﭘﻴﺎدهﺳﺎزي ﺑﺨﺸﻲ از ﭘﺮوژه ﺑﺮاي اﺳﺘﻔﺎده در ﮔﻮﺷﻲ ﺗﻠﻔﻦ ﻫﻤﺮاه و ﺑﻪ ﻛﻤﻚ ﻣﺤﻴﻂﻫﺎي‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﻧﻈﻴﺮ ‪ Java ME‬اﻧﺠﺎم ﻣﻲﺷﻮد‪ .‬ﻫﻤﭽﻨﻴﻦ اﺳﺘﻔﺎده از ‪API‬ﻫﺎﻳﻲ ﻧﻈﻴﺮ ‪ Bouncy Castle‬ﻣﺠﺎز اﺳﺖ‪ .‬ﺗﺤﻮﻳﻞ ﭘﺮوژه‬
‫ﺑﺮ روي ﮔﻮﺷﻲ ﺗﻠﻔﻦ ﻫﻤﺮاه ﻳﺎ ﻳﻚ ﺷﺒﻴﻪﺳﺎز اﻧﺠﺎم ﺧﻮاﻫﺪ ﺷﺪ و ﺑﺮﻧﺎﻣﻪ ﺗﻮﻟﻴﺪ ﺷﺪه ﺑﺎﻳﺴﺘﻲ ﺑﻪ راﺣﺘﻲ و ﺑﺪون دردﺳﺮ ﺗﻮﺳﻂ‬
‫ﻣﺸﺘﺮي اﺳﺘﻔﺎده ﮔﺮدد‪ .‬ﺑﺴﺘﺮ اﺻﻠﻲ اﻳﻦ ﭘﺮوژه ﻣﻲﺗﻮاﻧﺪ ﻳﻜﻲ از ﭘﺮوژهﻫﺎي ﻣﺘﻦﺑﺎز زﻳﺮ و ﻳﺎ ﻣﻮارد ﻣﺸﺎﺑﻪ آنﻫﺎ )ﺑﺎ ﻗﺎﺑﻠﻴﺖﻫﺎي ﻛﻤﺘﺮ(‬
‫ﺑﺎﺷﺪ‪:‬‬
‫‪Mobile-OTP : http://motp.sourceforge.net/‬‬
‫‪S/Key Generator for J2ME architecture : http://sourceforge.net/projects/otp-j2me/‬‬
‫ﺑﻬﺮهﮔﻴﺮي از اﻳﻦ ﻣﻮﻟﻔﻪﻫﺎ )ﺑﻪ وﻳﮋه ‪ (Mobile-OTP‬ﻣﻲﺗﻮاﻧﺪ اﻧﺠﺎم اﻳﻦ ﭘﺮوژه را ﺑﺴﻴﺎر آﺳﺎن ﻛﻨﺪ!‬
‫‪ ۴‬‬
‫‪ ‬‬
‫اﻣﻨﻴﺖ داده و ﺷﺒﻜﻪ‬
‫‪ ‬ﭘﺮوژهي ﭘﺎﻳﺎن ﺗﺮم‬
‫‪ 10 ‬دي ‪90‬‬
‫‪ ‬‬
‫رﻣﺰﻧﮕﺎري آﺳﺘﺎﻧﻪاي و اﻣﻀﺎي ﭼﻨﺪﻧﻔﺮهي دﻳﺠﻴﺘﺎل‬
‫در ﺑﺮﺧﻲ از ﻣﻮارد ﺣﺴﺎس و ﺑﺤﺮاﻧﻲ ﻧﻴﺎز اﺳﺖ ﺗﺎ دﺳﺘﺮﺳﻲ ﺑﻪ دادهﻫﺎي ﻣﺤﺮﻣﺎﻧﻪ ﻳﺎ اﻣﻀﺎي ﻳﻚ ﺳﻨﺪ ﺗﻮﺳﻂ ﺑﻴﺶ از ﻳﻚ ﻧﻔﺮ اﻧﺠﺎم‬
‫ﭘﺬﻳﺮد‪ .‬ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﺑﺮاي ﺑﺮداﺷﺖ از ﺣﺴﺎبﻫﺎي اﺷﺘﺮاﻛﻲ‪ ،‬ﻧﻴﺎز ﺑﻪ اﻣﻀﺎي ﻫﻤﻪ ﻳﺎ ﺑﺨﺸﻲ از ﺻﺎﺣﺒﺎن ﺣﺴﺎب اﺳﺖ‪ .‬ﻫﺪف اﻳﻦ‬
‫ﭘﺮوژه آﺷﻨﺎﻳﻲ ﺑﺎ ﺳﻴﺴﺘﻢﻫﺎي رﻣﺰﻧﮕﺎري و اﻣﻀﺎي ﭼﻨﺪﻧﻔﺮهي دﻳﺠﻴﺘﺎل‪ 1‬و ﭘﻴﺎدهﺳﺎزي ﻧﻤﻮﻧﻪي ﺳﺎدهاي از آنﻫﺎﺳﺖ‪.‬‬
‫ﺳﻴﺴﺘﻢﻫﺎي رﻣﺰﻧﮕﺎري ﭼﻨﺪﻧﻔﺮه ﻋﻤﻮﻣﺎً از ﻃﺮحﻫﺎي ﻣﺒﺘﻨﻲ ﺑﺮ ﺗﺴﻬﻴﻢ راز‪ 2‬اﺳﺘﻔﺎده ﻣﻲﻛﻨﻨﺪ‪ .‬ﺗﺴﻬﻴﻢ راز روﺷﻲ اﺳﺖ ﺑﺮاي ﺑﻪ‬
‫اﺷﺘﺮاك ﮔﺬاﺷﺘﻦ ﻳﻚ راز ﻣﻴﺎن ﭼﻨﺪ ﺳﻬﺎمدار‪ ،‬ﺑﻪ ﮔﻮﻧﻪ اي ﻛﻪ ﺑﺎزﻳﺎﺑﻲ راز ﺗﻨﻬﺎ در ﻫﻨﮕﺎم ﻣﺸﺎرﻛﺖ ﺗﻤﺎم آنﻫﺎ ﻣﻤﻜﻦ ﺑﺎﺷﺪ‪ .‬ﺣﺎﻟﺘﻲ‬
‫ﻛﻪ ﺑﺮاي ﺑﺎزﻳﺎﺑﻲ راز ‪ ، s‬از ﻣﻴﺎن ‪ n‬ﺳﻬﺎمدار ﺣﻀﻮر ﺣﺪاﻗﻞ ‪ t‬ﻧﻔﺮ از آنﻫﺎ ﻛﺎﻓﻲ ﺑﺎﺷﺪ‪ ،‬ﻃﺮح ﺗﺴﻬﻴﻢ راز آﺳﺘﺎﻧﻪاي‪ (t,n) 3‬ﻧﺎﻣﻴﺪه‬
‫ﻣﻲﺷﻮد‪.‬‬
‫اﻳﻦ ﭘﺮوژه ﻫﺮ دو روﻳﻜﺮد رﻣﺰﻧﮕﺎري آﺳﺘﺎﻧﻪاي‪ 4‬و اﻣﻀﺎي ﭼﻨﺪﻧﻔﺮهي دﻳﺠﻴﺘﺎل را ﺷﺎﻣﻞ ﻣﻲﺷﻮد‪ .‬ﻫﺮﭼﻨﺪ ﻛﻪ ﻃﺮحﻫﺎي ﻣﺨﺘﻠﻔﻲ‬
‫ﺑﺮاي اﻳﻦ ﻣﻨﻈﻮر اراﺋﻪ ﺷﺪه اﺳﺖ‪ ،‬اﻣﺎ ﭘﻴﺸﻨﻬﺎد ﻣﻲﺷﻮد از ﻃﺮحﻫﺎي ﻣﺒﺘﻨﻲ ﺑﺮ رﻣﺰﻧﮕﺎري آﺳﺘﺎﻧﻪاي اﻟﺠﻤﺎل اﺳﺘﻔﺎده ﻛﻨﻴﺪ‪ .‬ﺑﺮﻧﺎﻣﻪي‬
‫ﻣﺮﺑﻮﻃﻪ ﺑﺎﻳﺴﺘﻲ در ﻳﻚ ﻣﺮﺣﻠﻪ ﻗﺎﺑﻠﻴﺖ ﺗﻮﻟﻴﺪ ﺳﻬﻢ ﺑﺮاي ﻫﺮ ﻓﺮد‪ ،‬و در ﻣﺮﺣﻠﻪي دﻳﮕﺮ ﻗﺎﺑﻠﻴﺖ درﻳﺎﻓﺖ ﺳﻬﻢ اﻓﺮاد ﺑﻪ ﻣﻨﻈﻮر‬
‫رﻣﺰﮔﺸﺎﻳﻲ ﻳﺎ اﻧﺠﺎم اﻣﻀﺎ ﺑﺮ روي ﻳﻚ ﭘﻴﺎم ﻳﺎ ﻓﺎﻳﻞ را داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬ﻋﻼوه ﺑﺮ اﻳﻦ ﺑﺎﻳﺴﺘﻲ در ﺣﺪ ﺳﺎدهاي ﺗﻮاﻧﺎﻳﻲ ﺗﺸﺨﻴﺺ ﺗﻘﻠﺐ‬
‫ﺳﻬﺎﻣﺪاران را ﻧﻴﺰ داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬ﻗﺎﺑﻠﻴﺖﻫﺎﻳﻲ ﻧﻈﻴﺮ ﻛﺎﻫﺶ و اﻓﺰاﻳﺶ ﺗﻌﺪاد ﺳﻬﺎﻣﺪاران ﻳﻚ راز‪ ،‬ﺑﻬﻨﮕﺎمﺳﺎزي ﺳﻬﺎمﻫﺎ‪ ،‬دادن‬
‫ﺳﻬﻢﻫﺎي ﺑﻴﺸﺘﺮ ﺑﻪ ﻳﻚ ﻓﺮد ﺑﺎ درﺟﻪي اﻫﻤﻴﺖ ﺑﺎﻻﺗﺮ و ‪ ...‬ﻧﻴﺰ ﻣﻲﺗﻮاﻧﻨﺪ ﺑﺮﺧﻲ از وﻳﮋﮔﻲﻫﺎي دﻳﮕﺮ اﻳﻦ ﻃﺮح ﺑﺎﺷﻨﺪ‪ .‬ﺑﺨﺶ‬
‫ﻣﻄﺎﻟﻌﺎﺗﻲ اﻳﻦ ﭘﺮوژه ﺑﻴﺸﺘﺮ از ﺑﺨﺶ ﭘﻴﺎدهﺳﺎزي آن اﺳﺖ و ﺗﺎﻛﻴﺪ اﺻﻠﻲ در ﻫﻨﮕﺎم ﺗﺤﻮﻳﻞ ﭘﺮوژه ﺑﺮ روي آن ﺧﻮاﻫﺪ ﺑﻮد‪ .‬ﺑﺮاي‬
‫آﺷﻨﺎﻳﻲ ﺑﺎ ﻣﻔﺎﻫﻴﻢ ﻣﻮرد ﻧﻴﺎز ﻣﻲﺗﻮاﻧﻴﺪ از ﻣﻨﺎﺑﻊ زﻳﺮ ﺷﺮوع ﻧﻤﺎﻳﻴﺪ‪:‬‬
‫‪http://en.wikipedia.org/wiki/Secret_sharing‬‬
‫‪http://www.cs.berkeley.edu/~daw/teaching/cs276-s06/l30-jm.pdf‬‬
‫‪http://www.tcs.hut.fi/Studies/T-79.159/2004/slides/L9.pdf‬‬
‫‪ ‬‬
‫‪١‬‬
‫‪Digital multisignature‬‬
‫‪٢‬‬
‫‪Secret Sharing‬‬
‫‪ Threshold secret Sharing ٣‬‬
‫‪ Threshold cryptosystem ٤‬‬
‫‪ ۵‬‬
‫‪ ‬‬