Friday, May 6, 2016

mobile app dev tools - summary

https://www.educba.com/mobile-app-development-tools/

Home » eduCBA Blog » Mobile Apps » Mobile App Development Tools
Mobile App Development Tools

In the age of mobile phones and Smartphones, ‘Mobile app’ is a commonly heard term. Mobile app are small software applications that run on mobile phones or other mobile devices and serve some specific function or provide information on a particular topic. Some examples of mobile app that usually every smartphone comes preloaded with, are: calendar, calculator, e-mail, clock and weather information. Additional apps can be downloaded on the phone through app store native to the Operating System of the phone you own, such as: Apple’s App Store, Google Play, Windows Phone Store and BlackBerry App World, which are the distribution platforms for these apps.

Tuesday, May 3, 2016

Communicating securely over network connections

Communicating securely over networks, particularly systems exposed to public internet, is an ongoing challenge.   The bad news is, every criminal in the world who has access to the internet is constantly trying to break into your computer, your tablet, your smartphone, and your Raspberry Pi.  The good news is that there are very good, secure tools that are well recognized as "secure".  Some provisos apply:

1. configuration of software used for such communications, to disable features that are considered security weaknesses.
2. understanding that all software is defective in some way, it is a necessity to patch vulnerable software when you are notified, and for open source software, that means signing up for notifications
3. many free security capabilities include multi-factor authentication, including a personal and account-specific code generated on your smartphone, so only the person (presumably you) who is holding the smartphone, can log in to your account.

One of these tools is SSH, or Secure SHell.  There are many free versions:
-- OpenSSH for Linux
-- PuTTy for Windows
-- there are Java based SSH clients
-- there is even a Chrome browser plugin that runs SSH client

A properly configured SSH client and server connection might be called a "gold standard" of communication over public (untrusted) networks.

SSH is a mature technology that has many interested features and capabilities, well beyond a command line interface to a system:

A. SCP and SFTP for file transfer is encrypted using the same mechanisms in SSH
B. rsync can use SSH as the connection between synchronization of files between systems
C. Port forwarding is one of the most powerful and overlooked capabilities,   I'll post a link to a presentation on SSH in an upcoming blog entry.

However, a poorly configured SSH scenario only gives users and administrators an illusion and assumption of security,   For example, if no one actually checks or validates the server key that is presented at an initial connection from an SSH client, the user really has no idea whether they are connecting to a hostile server that is capturing all your communications.   This scenario is typically referred to as MITM, or "man in the middle" attack.