অ্যান্ড্রয়েড: ব্যবহারকারীর নাম এবং পাসওয়ার্ড সংরক্ষণ করছেন?


177

যদি আমি কোনও অ্যান্ড্রয়েড অ্যাপ্লিকেশনের অভ্যন্তরে ব্যবহারকারীর নাম এবং পাসওয়ার্ডটি সঞ্চয় করতে চাই তবে এটি করার সর্বোত্তম উপায় কী? এটি কি পছন্দসই স্ক্রিনের মাধ্যমে রয়েছে (তবে ব্যবহারকারী যদি এটি মিস করে তবে কী হবে?), বা একটি ডায়লগ বাক্স পপআপ করে ব্যবহারকারীকে শংসাপত্রগুলির জন্য জিজ্ঞাসা করুন? যদি তা হয় তবে আমাকে আবেদনের জন্য রাষ্ট্র বজায় রাখতে হবে। আমি এই কিভাবে করব?


4
stackoverflow.com/a/786588/1166727 পরীক্ষা করে দেখুন @RetoMeier (গুগল সাইটে Android উন্নয়ন টেক লিড) এই সম্পর্কে কি বলার আছে।
টনি গিল

1
আপনি credentials.Read এই উত্তরটি সঞ্চয় করতে সবচেয়ে নিরাপদ উপায় খুঁজছি হয় stackoverflow.com/a/20560574/730807
ডুরাই Amuthan.H

3
@ লিজেন্ড আপনি কীভাবে আপনার সমস্যা সমাধান করেছেন?
এরম

@Legend এনক্রিপশন পর অগ্রাধিকারগুলি গণপূর্ত বিভাগের সংরক্ষণ উপর কিছু হালকা নিক্ষেপ করতে পারেন .. কারণ আমি কোন ইন্টারনেট ছাড়া কাজ করার জন্য আমার অ্যাপ্লিকেশন চান তাহলে আমি কী পেতে পারি .. (নাকিসুরে Coz আমি দোকানে ডিভাইসে চাবি)
eRaisedToX

আপনি এপিআই +18 এর জন্য কীস্টোর ব্যবহার করতে পারেন। বিকাশকারী.অ্যান্ড্রয়েড
ট্রেনিং

উত্তর:


115

আমি দেখেছি বেশিরভাগ অ্যান্ড্রয়েড এবং আইফোন অ্যাপ্লিকেশন শংসাপত্রগুলির জন্য জিজ্ঞাসা করার জন্য একটি প্রাথমিক স্ক্রিন বা ডায়লগ বাক্স ব্যবহার করে। আমি মনে করি ব্যবহারকারীর পক্ষে প্রায়শই তাদের নাম / পাসওয়ার্ড পুনরায় প্রবেশ করানো অসুবিধাজনক, সুতরাং সেই তথ্য সংরক্ষণ করে ব্যবহারের দৃষ্টিভঙ্গি থেকে বোঝা যায়।

( অ্যান্ড্রয়েড ডেভ গাইড ) এর পরামর্শটি হ'ল:

সাধারণভাবে, আমরা ব্যবহারকারীর শংসাপত্রগুলির জন্য জিজ্ঞাসা করার ফ্রিকোয়েন্সি হ্রাস করার প্রস্তাব দিই - ফিশিং আক্রমণগুলিকে আরও সুস্পষ্ট করে তোলার জন্য এবং সফল হওয়ার সম্ভাবনা কম। পরিবর্তে একটি অনুমোদনের টোকেন ব্যবহার করুন এবং এটি রিফ্রেশ করুন।

যেখানে সম্ভব, ব্যবহারকারীর নাম এবং পাসওয়ার্ড ডিভাইসে সংরক্ষণ করা উচিত নয়। পরিবর্তে, ব্যবহারকারীর দ্বারা সরবরাহ করা ব্যবহারকারীর নাম এবং পাসওয়ার্ড ব্যবহার করে প্রাথমিক প্রমাণীকরণ সম্পাদন করুন এবং তারপরে স্বল্প-কালীন, পরিষেবা-নির্দিষ্ট অনুমোদনের টোকেন ব্যবহার করুন।

শংসাপত্রগুলি সংরক্ষণ করার জন্য অ্যাকাউন্টম্যাঞ্জার ব্যবহার করা সেরা বিকল্প। SampleSyncAdapter এটি কিভাবে ব্যবহার করতে একটি উদাহরণ প্রদান করে।

যদি কোনও কারণে এটি আপনার পক্ষে বিকল্প না হয় তবে আপনি পছন্দ পদ্ধতিটি ব্যবহার করে ক্রমাগত শংসাপত্রগুলি ফিরে যেতে পারেন । অন্যান্য অ্যাপ্লিকেশনগুলি আপনার পছন্দগুলি অ্যাক্সেস করতে সক্ষম হবে না, তাই ব্যবহারকারীর তথ্য সহজেই প্রকাশিত হয় না।


40
আমি বলব পছন্দ হিসাবে পাসওয়ার্ডের তথ্য বজায় রাখা ঝুঁকিপূর্ণ। রুটযুক্ত ফোনে কোনও অ্যাপ্লিকেশনটির পছন্দগুলি ফাইল অ্যাক্সেস করা সম্ভব। কমপক্ষে আপনি যা করতে পারেন তা হল পাসওয়ার্ডটি অস্পষ্ট করা।
জয়েশ

51
কারও কাছে যদি আপনার ফোন থাকে এবং এটি রুট করতে সক্ষম হয় তবে আপনার ডেটা সুরক্ষিত রাখতে আপনি যা করতে সক্ষম হবেন তা পুরোপুরি নেই। পাসওয়ার্ড অবলম্বন করা এটি কোনও খারাপ ধারণা নয়, তবে এটি সত্যিই আরও বেশি সুরক্ষা যোগ করছে না। সবচেয়ে গুরুত্বপূর্ণ বিষয়টি হ'ল সুরক্ষার অনেক স্তর ইতিমধ্যে ওএস-এ অন্তর্নির্মিত। অবশ্যই, এই পদক্ষেপগুলি রোধ করতে আপনি বোকা কিছু করতে চান না। OAuth এর মতো কোনও সিস্টেম ব্যবহার করা এবং ব্যবহারকারীর নাম এবং পাসওয়ার্ডের পরিবর্তে ডিভাইসে একটি টোকেন সঞ্চয় করা ভাল।
এরিক লেভাইন

4
আপনি যদি AccountManager(আমার উত্তর অনুসারে, এবং @ মিগুয়েলের চক্রাকারে) ব্যবহার করেন এবং কেউ আপনার জিএসএম ফোন ধরে রাখে তবে তাদের আপনার অ্যাকাউন্টগুলিতে অ্যাক্সেস রাখতে আপনার সিম ব্যবহার করা চালিয়ে যেতে হবে, কারণ এটি সঞ্চিত শংসাপত্রগুলি অকার্যকর করে দেবে যখন সিম পরিবর্তন হয়।
জন ও

3
এসআইপি পরিবর্তনে অ্যাকাউন্ট মোছা বেশ কিছুক্ষণ আগে সরিয়ে ফেলা হয়েছে, কারণ এটি বিশেষভাবে বোঝায় না বিশেষত এমন লোকদের জন্য যাদের একাধিক সিম রয়েছে। আপনার ফোনটি চুরি হয়ে গেলে আরও ভাল কৌশল হ'ল আপনার গুগল অ্যাকাউন্ট পৃষ্ঠাতে গিয়ে নির্দিষ্ট ডিভাইসের অ্যাক্সেস প্রত্যাহার করা।
নিকলে ইলেকনভ

2
"শংসাপত্র সংরক্ষণের জন্য অ্যাকাউন্টম্যাঞ্জার ব্যবহার করা সেরা বিকল্প is" কেন?
লুক

9

আপনার অ্যান্ড্রয়েড অ্যাকাউন্টম্যানেজারটি ব্যবহার করা উচিত । এটি এই দৃশ্যের জন্য উদ্দেশ্য-নির্মিত। এটি কিছুটা জটিল but

এটি ব্যবহারকারীকে ডিভাইসে থাকা যে কোনও অ্যাকাউন্টের জন্য সমস্ত জায়গা এক জায়গায় থেকে সংরক্ষণের শংসাপত্রগুলি অ্যাক্সেস করার দ্রুত এবং সহজ উপায় (এবং সম্ভাব্যভাবে মুছে ফেলা) দেয়।

স্যাম্পেলসিঙ্কএডাপ্টার (যেমন @ মিগুয়েল উল্লিখিত) হ'ল একটি উদাহরণ যা সঞ্চিত অ্যাকাউন্ট শংসাপত্রগুলি ব্যবহার করে।


3
এটি কোথায় নথিবদ্ধ হয়েছে যে অ্যাকাউন্টম্যানেজার "সিম কার্ড পরিবর্তন হলে স্থানীয় শংসাপত্রগুলি অকার্যকর করবে"?
এরিক লেভাইন

আমি সচেতন তা নয়। যাইহোক, আমার অ্যাপ্লিকেশনটির কিছু ব্যবহারকারীর সিম পরিবর্তনের পরে প্রমাণীকরণ সংক্রান্ত সমস্যাগুলির পরে আমি এটি বিশ্বাস / গ্রহণ / বোঝার জন্য এসেছি।
জন ও

1
আমি এটি জাভাডক্স বা অ্যাকাউন্টম্যানেজার কোডে দেখতে পাচ্ছি না। এটি একটি দুর্দান্ত বৈশিষ্ট্য বলে মনে হচ্ছে, এটি যাচাই করা এবং বিশদগুলি বোঝার জন্য এটি দুর্দান্ত।
এরিক লেভাইন

2
@ নিকোলেএলেঙ্কভের মতে সিম কার্ড পরিবর্তন বৈশিষ্ট্যটিতে অবৈধ সরিয়ে দেওয়া হয়েছে।
টমাসডাব্লু

2
@ থমাস ডাব্লু এর কাছে আপনার কাছে প্রশংসাপত্র রয়েছে? কোনওরকমের একটি সুনির্দিষ্ট উত্তর পাওয়ার জন্য এটি দুর্দান্ত হবে।
জন ও

8

আমি মনে করি আপনার শংসাপত্রটি সুরক্ষিত করার সর্বোত্তম উপায় হ'ল প্রথমে অ্যাকাউন্ট.ডিবি ফাইলটিতে এনক্রিপশন সহ পাসওয়ার্ড সংরক্ষণ করার চিন্তাভাবনা যা নন-রুট ডিভাইসগুলিতে সহজেই পাওয়া যায় না এবং রুট ডিভাইসের ক্ষেত্রে হ্যাকারের অবশ্যই ডিক্রিপ্ট করার কীটি থাকা দরকার এটা।

অন্য বিকল্পটি হ'ল জিমেইল যেভাবে করছে তার মতো আপনার সমস্ত প্রমাণীকরণ করুন। Gmail সার্ভারের সাথে প্রথম প্রমাণীকরণের পরে। আপনি অ্যাথ টোকেন পেয়েছেন যা আপনার পাসওয়ার্ডের ক্ষেত্রে ব্যবহারযোগ্য। সেই টোকেনটি সরল পাঠ্যে সংরক্ষণ করা হবে you আপনি সার্ভার থেকে পাসওয়ার্ড পরিবর্তন করার ক্ষেত্রে এই টোকেনটি ভুল হতে পারে।

শেষ বিকল্পটি আমি আপনাকে 2-ফ্যাক্টর প্রমাণীকরণ সক্ষম করতে এবং আপনার ডিভাইসের জন্য ডিভাইস নির্দিষ্ট পাসওয়ার্ড তৈরি করতে পরামর্শ দিচ্ছি। ডিভাইস হারানোর পরে, আপনার কেবলমাত্র সেই ডিভাইসটি অক্ষম করা দরকার।


2
আপনি কি এমন কোনও উত্স পোস্ট করতে পারেন যা বলছে যে অ্যাকাউন্টস.ডিবি এনক্রিপ্ট করা আছে? অথবা আপনি কি বলেন যে নির্দিষ্ট পাসওয়ার্ডটি এনক্রিপ্ট করা উচিত?
মাইচা কে

1
@ রিজ, তারপরে এনক্রিপশনের জন্য কীটি সংরক্ষণ করবেন ... কারণ আমার অ্যাপ্লিকেশনটি ইন্টারনেট ছাড়াই কাজ করে, সুতরাং এটি নেটওয়ার্ক থেকে পেতে পারে না
eRaisedToX


2

আপনি এসডিকে থেকে স্যাম্পলসিঙ্কএডাপ্টার নমুনাটিও দেখতে পারেন । এটি আপনাকে সাহায্য করতে পারে।


2

অ্যান্ড্রয়েড-বিকাশকারীদের কাছ থেকে এই পোস্টটি একবার দেখুন, এটি আপনার অ্যান্ড্রয়েড অ্যাপ্লিকেশনটিতে সঞ্চিত ডেটাতে সুরক্ষা বাড়াতে সহায়তা করতে পারে।

নিরাপদভাবে শংসাপত্রগুলি সঞ্চয় করতে ক্রিপ্টোগ্রাফি ব্যবহার করা


2

নতুন (অ্যান্ড্রয়েড 6.0) ফিঙ্গারপ্রিন্ট হার্ডওয়্যার এবং এপিআই দিয়ে আপনি এই গিথুব নমুনা অ্যাপ্লিকেশনটির মতো এটি করতে পারেন can


8
রেফারেন্সযুক্ত নমুনা প্রকল্পটি অ্যান্ড্রয়েড কী স্টোরটিতে একটি কী তৈরি করে এবং এটি পাসওয়ার্ড এনক্রিপ্ট করার জন্য একটি সাইফার তৈরি করতে ব্যবহার করে। এনক্রিপ্ট করা পাসওয়ার্ড এবং সিফার ভাগ করা পছন্দগুলিতে বেস 64 এনকোডড স্ট্রিং হিসাবে সংরক্ষণ করা হয়। সফল আঙুলের ছাপ প্রমাণীকরণের পরে, গোপন কীটি অ্যান্ড্রয়েড কী স্টোর থেকে পুনরুদ্ধার করা হয় এবং ডিকোড হওয়া সিফারের সাথে ডিকোড হওয়া পাসওয়ার্ড ডিক্রিপ্ট করতে ব্যবহৃত হয়।
এমজেউইট

@ এমজেউইট উদাহরণটিতে কী চলছে তা বোঝার জন্য এটি এত সহায়ক। ধন্যবাদ! একটি ছোট টাইপো: "... এনকোডড পাসওয়ার্ডটি ডিক্রিপ্ট করার জন্য" "
মুটিজেনফ্লো

2

এগুলি আপনার লুকানো তথ্য ভাঙ্গতে অসুবিধা অনুসারে স্থান পেয়েছে ।

  1. ক্লিয়ারটেক্সটে স্টোর করুন

  2. একটি প্রতিসম কী ব্যবহার করে এনক্রিপ্ট করা স্টোর

  3. অ্যান্ড্রয়েড কীস্টোর ব্যবহার করে

  4. অসমমিতিক কী ব্যবহার করে এনক্রিপ্ট করা স্টোর

উত্স: আপনার অ্যান্ড্রয়েড অ্যাপ্লিকেশনটিতে একটি পাসওয়ার্ড সঞ্চয় করার জন্য সেরা জায়গাটি কোথায়

কীস্টোর নিজেই ব্যবহারকারীর নিজস্ব লকস্ক্রিন পিন / পাসওয়ার্ড ব্যবহার করে এনক্রিপ্ট করা হয়, সুতরাং, ডিভাইস স্ক্রিনটি লক করা থাকলে কীস্টোরটি উপলভ্য নয়। আপনার যদি এমন পটভূমি পরিষেবা থাকে যা আপনার অ্যাপ্লিকেশন সিক্রেট অ্যাক্সেস করতে পারে তবে এটি মনে রাখবেন।

উত্স: পাসওয়ার্ড এবং অন্যান্য সংবেদনশীল তথ্য সঞ্চয় করতে অ্যান্ড্রয়েড কীস্টোরটি সহজ ব্যবহার করুন


1

Http://nelenkov.blogspot.com/2012/05/store-application-secrets-in-androids.html এ তথ্যটি মোটামুটি বাস্তববাদী, তবে "ইউজড-লুকানো-অ্যান্ড্রয়েড-এপিস" ভিত্তিক পদ্ধতির। আপনি যখন ডিভাইসে স্থানীয়ভাবে শংসাপত্রগুলি / পাসওয়ার্ডগুলি সঞ্চয় করতে পারছেন না তখন এটি বিবেচনা করার মতো বিষয়।

আমি https://gist.github.com/kbsriram/5503519 এ ধারণার একটি ক্লিন আপ সংক্ষেপণও তৈরি করেছি যা সহায়ক হতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.