Home » ClearHealth Forums » ClearHealth » Email Password Reset
Email Password Reset [message #3223] Tue, 15 July 2008 02:38 Go to next message
fredtrotter  is currently offline fredtrotter
Messages: 188
Registered: August 2006
Any plans on including this in future versions? This makes password support much easier. It would also mean that we could finally hash the passwords....

-FT


Fred Trotter, MirrorMed
Re: Email Password Reset [message #3226 is a reply to message #3223 ] Tue, 15 July 2008 16:08 Go to previous messageGo to next message
jay.walker  is currently offline jay.walker
Messages: 961
Registered: January 2008
Location: Tucson AZ
We have considered a variety of scenarios but this makes us really uneasy from a security standpoint. It opens a very large number of possible attacks.

Do you really have a lot of folks forgetting their passwords? To be HIPAA compliant they need to be logging in so many times per day that we rarely have this come up as a support issue?

Not to beat a dead horse but the hashing of passwords really accomplishes little to nothing from a security standpoint and introduces a lot of support problems. There is very little stopping you today from hashing them if you want, it would be a 1 line change.

If someone has access to your password file then they already have access to the medical data which is much more valuable. If you are using passwords which are not randomly generated then you are probably not being HIPAA compliant.

We have thought about enforcing quality passwords and supporting periodic changing but some large commercial customers have resisted that.

Remember that ClearHealth also supports the '!remote!' password hook so you can use an external system to do the password lookup (such as IMAP/POP, Radius, etc) and that can hash or anything else that you like.


-Jay Walker
Customer Service
ClearHealth Inc.
Re: Email Password Reset [message #3227 is a reply to message #3226 ] Wed, 16 July 2008 09:26 Go to previous messageGo to next message
jdarren1024  is currently offline jdarren1024
Messages: 2
Registered: July 2008
jay.walker wrote on Tue, 15 July 2008 16:08

To be HIPAA compliant they need to be logging in so many times per day


jay.walker wrote on Tue, 15 July 2008 16:08

If you are using passwords which are not randomly generated then you are probably not being HIPAA compliant.


Can you cite any references to HIPAA regulations that support your statements ?

Re: Email Password Reset [message #3228 is a reply to message #3227 ] Wed, 16 July 2008 14:33 Go to previous messageGo to next message
jay.walker  is currently offline jay.walker
Messages: 961
Registered: January 2008
Location: Tucson AZ
With request to logging in multiple times per day:
§ 164.312(a)(2)(iii) Automatic Logoff

Implement electronic procedures that terminate an electronic session after a predetermined time of inactivity.

    * The application will terminate a session after a predetermined time of inactivity. (Version 2 & 3)
    * Time period is configurable by the Administrator account. (Version 2 & 3)
    * Default time period is 20 minutes. (Version 2 & 3)


Generally folks are not 100% active throughout the day, lunch, breaks, etc. at that point they should be logged out and then required to log back in. If users are saving their passwords in the browser that is probably not compatible with:

(a)(1) Standard: Access control. Implement technical policies and procedures for electronic information systems that maintain electronic protected health information to allow access only to those persons or software programs that have been granted access rights as specified in §164.308(a)(4).


With respect to password quality:

§ 164.312(d) Person or Entity Authentication

Implement procedures to verify that a person or entity seeking access to electronic protected health information is the one claimed.

    * Password length configurable to require at least 6 characters.
    * Password construction requirements, including required use of numeric and/or special characters.
    * Requirement to change password periodically.


-Jay Walker
Customer Service
ClearHealth Inc.
Re: Email Password Reset [message #3229 is a reply to message #3228 ] Wed, 16 July 2008 15:42 Go to previous messageGo to next message
jdarren1024  is currently offline jdarren1024
Messages: 2
Registered: July 2008
jay.walker wrote on Wed, 16 July 2008 14:33

With request to logging in multiple times per day:
§ 164.312(a)(2)(iii) Automatic Logoff



That does not mean they have login many times per day - they can login once a day during rounds and thats it. But I see what you are getting at - you are assuming users are all day users which is not always the case.


jay.walker wrote on Wed, 16 July 2008 14:33



§ 164.312(d) Person or Entity Authentication
[code]



This is not *random* generation - I dislike having the computer decide my password. Rather this can be human decided following fairly common password rules.

My question was prompted as I often find it frustrating when the IT department 'decide' on what the HIPAA rules mean when it is often not their responsibility and sometimes they provide a rather dubious interpretation which adversely affects the usability of the system.

[Updated on: Wed, 16 July 2008 15:43]

Re: Email Password Reset [message #3230 is a reply to message #3229 ] Wed, 16 July 2008 16:14 Go to previous messageGo to next message
jay.walker  is currently offline jay.walker
Messages: 961
Registered: January 2008
Location: Tucson AZ
Quote:


That does not mean they have login many times per day - they can login once a day during rounds and thats it. But I see what you are getting at - you are assuming users are all day users which is not always the case.



Yes, that is true and why I said generally. Further complicating this is if someone were to use an overall desktop login/logout unique to them with an inactivity timeout as is typically the case in enterprises but much more rare in physician offices. That overlaying system could probably meet HIPAA standards and allow a user to autosave their CH password in the browser and not require a CH level timeout.


Quote:


This is not *random* generation - I dislike having the computer decide my password. Rather this can be human decided following fairly common password rules.

My question was prompted as I often find it frustrating when the IT department 'decide' on what the HIPAA rules mean when it is often not their responsibility and sometimes they provide a rather dubious interpretation which adversely affects the usability of the system.


Note that I did say "probably", if you can get your users to self select passwords that are secure please share the secrets to that. I can say in our experience that lettings user select passwords results in weak passwords, it is that simple, with respect to "randomly generated" we generally like systems that create pseudo-pronouncable passwords such as temp-1Stormm, I would still call that randomly generated. I also agree that fully random passwords such as "1@445*^3jK" tend to result in users just sticky noting them on their monitor which really does defeat the whole enterprise.

A positive aspect to not hashing clearhealth passwords is that we are able to provide facilities with reports indicating the strength of passwords that have been selected. This type of reporting almost universally leads to implementation of psuedo-random passwords at the facility.

The thing that needs to be understood is that passwords can now be brute forced at astonishing speed and there are limited tools to prevent that such as rate-limiting and account locking but they present their own (DDOS) type problems. For commercial installations we always implement a second layer at the apache level which offers site or group logins and passwords before the actual CH password is reached, at least from outside locations.

Finally, as with all things HIPAA, your oranization needs to craft your own policy and with very few limitations whatever the contents of that policy is, so long as there is a written policy, will be deemed "HIPAA" compliant.

Thanks for asking those questions, I think this discussion will be valuable for a lot of people.


-Jay Walker
Customer Service
ClearHealth Inc.
Re: Email Password Reset [message #3231 is a reply to message #3223 ] Wed, 16 July 2008 17:05 Go to previous messageGo to next message
fredtrotter  is currently offline fredtrotter
Messages: 188
Registered: August 2006
The reason for having hashed passwords is not for security, but for access control and non-repudiation.

From a medico-legal standpoint if "opposing counsel" can show that it is trivial for an administrator to login as any user, then no action can be assigned to any particular, with any kind of certainty.

In order to fix this the system must

1. Assign an initial random password to a user, then force the user to change the random initial password to one only they know, on the first login.
2. Hash the password values in the database.

This is the "right" way to do this, and it takes a lot more than two lines of code.

Unless you have both of these in place, than an administrator can access the password text and then login to the system and perform actions "as" that user.

In short current ClearHealth passwords do not actually qualify as passwords under HIPAA. HIPAA defines a password as:

"Password means confidential authentication information composed of a string of characters."

The passwords in ClearHealth are not confidential because anyone who has Admin access to ClearHealth, or Admin access to the database can easily read them.

Obviously, there is little "security" benefit here. People who are trying to "break" in to the system are trying to get admin access, and this is a problem regarding those who already have admin power, but might abuse it.

The current code implements: "only your boss and you can login as you" rather than "only you can login as you".

Frankly, I cannot believe that this is not completely obvious that I am right about this issue. I am thankful, however, that I can now argue that this is not industry best-practice.

Please note test item SC 03.11 in the Final Inpatient EHR criteria for CCHIT 2008

"When passwords are used, the system shall use either standards-based encryption, e.g., 3DES, AES, or standards-based hashing, e.g., SHA1 to store or transport"

I hope that this settles the issue. I understand that being able to read the passwords makes administration much easier. But I feel that this is not the right way to run any system, and there enough people out there that agree with me that the issue is already at industry consensus, and really should be the default configuration option at least.

As for the enforcement of strong passwords, there is alot of debate about whether the benefits (harder to brute force) outweigh the disadvantages (far more likely that users write passwords down). The same is true with forcing regular password changes. However, it is also obvious that the availability of these features as a configuration option are also an industry standard. (See the very next CCHIT testing item: SC 03.12)

Now I can understand that you might see this, and the email password reset, as "not a priority for us" but would you take a patch for it from MirrorMed?

Regards,
-FT


Fred Trotter, MirrorMed
Re: Email Password Reset [message #3232 is a reply to message #3231 ] Wed, 16 July 2008 18:04 Go to previous message
duhlman  is currently offline duhlman
Messages: 654
Registered: February 2005
Location: Phoenix, AZ

Site Admin
I don't want to beat this to death again so I will be as brief as I can and I think there is a good middle ground here. We aren't opposed to hashing and a psuedo-patch is included below. There are some other points I want to touch on:

1. "Administrators" are always going to be able to log on as any user. By virtue of that argument you would never be able to use open source and be compliant and in fact even in non open-source systems this is also true. Case law makes distinctions between "administrators" and users and realize that there is much more to identifying the activity of a user than just a login/password.

2. Hashes can always be reversed, it is just a factor of time and an administrator with information about salt can do this fairly quickly except perhaps with SHA256 and some others which are supported by very few systems. For most commonly used algorithms including MD5, and SHA1 reverse databases already exist though salting mitigates this a bit (again adminstrators would have access to the salt).

3. DES and AES are symmetric encryption and so an administrator would have access to the key and consequently have access to the passwords in plaintext. By virtue of their inclusion in the standard text you cited I believe that defeats your confidentiality argument on its face. Also note that 3DES is broken, on todays computers it is trivial to defeat no key necessary.

4. Interpreting confidentiality as meaning that an administrator does not have access I think this is a provably flawed (and noted in 3) and not inline with legal and industry standards. There is plenty of existing law which identifies system administrators in a different capacity from a regular "user". Also realize there there is a very large difference between what an attorney can argue and caselaw.

Simply put the introduction of email into the password equation for us is unacceptable. Email is the most insecure medium you can use to do just about anything. I cannot envision a situation in which this improves security as it introduces spoofing as a new and virtually unstoppable means of attack.

We would be open to some type of other web-based password recovery that would need captchas (though these are now broken), and 2 or 3 pieces of a security question type nature. I still feel that this is less secure than "Contact your system administrator" or for larger sites using remote authentication (see below).

ClearHealth supports remote authentication so you can very easily plugin to any kind of system you want to handle user/password management and recovery. This is intentional. Any large scale site is going to want to connect to their windows domain, or IMAP/POP, etc.

To initiate this you set the password to "!remote!" and configure or code the plugin of your choice. The forthcoming details on the universal DNS vulnerability show just how bad an idea it is to depend on email and domains for any kind of real authentication. To even begin to implement an email system with PHI you would need a system like site-key (see bank of america logins) which is patented and encumbered in a way that would be hard to reconcile with open source.

There is always going to be a big difference between perception of security and reality of security. If you implement simple sha1 hashing in a way that is configurable we would definitely accept that. Please use Celini::config_get .

Here is a patch that implements password hashing for those that want it, it may need a little tuning as I did not test extensively but note that it is just 2 lines. Consider it psuedo-code.

I think there are 1-2 other lines that would need to be updated with regards to users changing their own passwords.

Index: Base_User.class.php
===================================================================
--- Base_User.class.php (revision 5275)
+++ Base_User.class.php (working copy)
@@ -242,6 +242,7 @@
        *
        */
        function get_id_from_userpass ($username, $password) {
+               $password = sha1($password);
                $sql = "SELECT u.$this->_pKey from $this->_prefix$this->_table as u where $this->_extraLoginTest username = " . $this->_quote($username) . " and password = " .
                        $this->_quote($password);
                //echo "sql: $sql<br>";
@@ -322,7 +323,7 @@
         */
        function set_password($password) {
                if (!empty($password)) {
-                       $this->password = $password;
+                       $this->password = sha1($password);
                }
        }






Sincerely,
David Uhlman
Customer Happiness Guru
ClearHealth Inc.
Previous Topic:Changing the port Clear Health runs on
Next Topic:install help
Goto Forum:
  


Current Time: Thu Sep 2 19:12:35 EDT 2010

Total time taken to generate the page: 0.03462 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 2.7.6.
Copyright ©2001-2006 FUD Forum Bulletin Board Software